Android自訂View研究(一) -- 一個小Demo

來源:互聯網
上載者:User

 

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.