Android自定義View研究(一) — 一個小Demo – Android移動開發技術文章_手機開發 Android移動開發教學課程

 

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://up.aiwalls.com/2011/1129/20111129034747138.rar

發佈留言