当前位置:操作系统 > 安卓/Android >>

Android自定义View研究(一) -- 一个小Demo

 

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<哈哈

 

下载 /2011/1129/20111129034747138.rar

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,