Android中繼承View(一) -- 一個小Demo
序:總想寫下點東西出來,但是總是沒有時間,不是業務忙就是又有新的研究項目,最近有點時間,寫點以前一直想寫有一直沒寫的東西,供大家參考,但是終歸是一家之言,僅供參考。本人的每次講解都會提供原始碼下載,並且會最近會一直更新還請大家多多關注,有不對的地方歡迎指教。好了,不說題外話了,咱們開始研究。
一、 概述
對於一個手機的使用者體驗來說最重要的部分莫過於介面了,為此Android中提供了通過XML布局的方式來進行布局,各種布局方式和控制項的使用就不多說了,如果有不會的可以參考下這個一個Demo讓你掌握所有的控制項。對於布局來說,個人感覺只用XML布局會有一定的局限性。所以就有了通過繼承View以及其他控制項來實現的Android布局。
就像HTML中有的人喜歡用css布局,有的人喜歡用table布局,眾說紛紜,各執一詞,但是個人感覺兩個結合起來使用比較好,呵呵,就像Android中開發用自訂View和使用XML一樣,使用兩種方式結合開發,不失是一個利器。
二、一個使用自訂View的Demo
MainActivity
importandroid.app.Activity;
importandroid.os.Bundle;
/**
* 使用自訂的View
* */
public classMainActivity extendsActivity {
public voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(newHelloView(this));// 使用自訂的View
}
}
HelloView
importandroid.content.Context;
importandroid.view.View;
public classHelloView extendsView {
/**
* 這個是我們要在Activity中初始化用的
* */
publicHelloView(Context context){
super(context);
}
}
運行一下:
這個是不是看起來沒有效果啊,哈哈,其實這個是系統預設的介面,也就是View預設的介面
我們來讓他改變一下
在View中寫一個方法
/**
* 繪製View
* */
protected voidonDraw(Canvas canvas){
canvas.drawColor(Color.BLUE);
}
運行試試看:
是不是非常神奇,有黑色變成藍色了,哈哈,有點小小的成就感沒啊>o<哈哈
下載 http://www.bkjia.com/uploadfile/2011/1129/20111129034747138.rar