android中所有的视图都是继承于View类,我们可以通过View类编写自己的控件,自定义控件分为:组合控件和绘制控件.
自定义属性:values/attrs.xml中,
<declare-styleable name="view">,"view"就是自定义控件的名字,在xml中引用的时候写成<包名.view .../>
<declare-styleable name="view">
<attr name="" format=""/>
</declare-styleable>
其中name是自定义属性名称,format是自定义属性的类型,包括:(1)reference: 某个资源的id,如@drawable/图片id
(2)color: 颜色值,如#000000
(3)boolean值
(4)dimension:尺寸值
(5)float
(6)integer
(7)string
(8)faction:百分数
(9)enum:枚举值
(10)flag
以上参考文章:http://stormzhang.com/android/2013/07/30/android-custome-attribute-format/
自定义控件一般需要重写的方法:
onMeasure(),测量View组件及其包含的所有子组件的大小
onDraw(),该组件将要绘制它的内容时回调该方法进行绘制
onLayout(),当该组件需要分配其子组件的位置,大小时,该方法被回调(一般自定义容器需要重写)