现在的位置: 首页 > 综合 > 正文

android完全自绘Widget(2D)

2013年09月21日 ⁄ 综合 ⁄ 共 4325字 ⁄ 字号 评论关闭

 

 

      Android提供了一个功能强大的UI组件模型,基于丰富的布局类ViewViewGroup。我们这章就是基于ViewViewGroup派生的子类开始来讲怎样建立自己UI

      Android系统提供了部分可用的Widget,包括Button, TextView, EditText, ListView, CheckBox, RadioButton, Gallery, Spinner,还有一些用于专门用途的,包括AutoCompleteTextView,
ImageSwitcher, 
TextSwitcher,另外也有些关于布局的LinearLayout,FrameLayout, RelativeLayoutCommon Layout Objects)等等。

如果这些系统内置Widget或者布局View不能满足需求,我们可以建立我们自己的View子类,来实现自己的WidgetLayout

      那如何创建呢?下面是创建View子类完全自绘WIDGET的最基本步骤:

      1.       创建自己的类,必须继承View。里面有三个构造函数,一个参数的构造函数主要是让使用者能动态建立,而两个参数的构造函数则是用于XML配置的

       2.       重载一些父类的带On方法,比如onDraw(),onMeasure()onKeyDown()等。其中onDrawonMeasure()是必须重载
                     的,
onDraw主要是从父类传递Canvas过来,能让你定制自己的2D组件,onMeasure则是定制你组件的大小,在之中你必须得              
  调用
setMeasuredDimension()

      3.       在你的程序Activity中使用你扩展的类

     下面是示例程序:

 

Activity中的程序使用Widget

先定义attr.xml,定义WIDGET的一些属性

 

 

然后建立自己的WidgetOwnButton):

 

接着就可以在Activity中使用自己组建的Widget,下面我们用xml的形式来使用。

layoutmain.xml中增加Widget

 

 

 

然后在Activity中就可以使用了

 

当然,也可以动态创建WIDGET,Activity的注释代码就是动态创建的方式,只要把setContentView(R.layout.main);注释掉。

 

 

下面一章将会介绍另一种自绘方式,这种方式利用的原有的Widget,将原有的Widget组合起来形成自己的Widget(如由EditButton等组成的下拉列表框)。

 

 

 

 

 

抱歉!评论已关闭.