当初刚入门Android时用的都是原生的控件,刚开始觉得原生的控件其实也可以满足当时的一些学校的小项目开发,也就没怎么深入自定义view。但参加工作后,发现有时美工给的设计图某些功能实现起来还是挺刁钻的,于是便开始了自定义view的学习。或许很多人都觉得自定义view是个很难的东西,其实当你真正用心去弄了几个自定义view之后就会发现其实也并没有那么难。由于个人工作效率还是蛮快的,项目之余闲蛋疼的很,常常自己看到那些好玩的东西就用自定义view画下来。
自定义view的基本步骤无非也就那么几步:
1. values文件夹下创建attrs.xml文件,在attrs里添加你想给自己view添加的属性。例:
attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="MyTextView">
<attr name="text" format="string"/>
<attr name="textSize" format="dimension"/>
</declare-styleable>
</resources>
declare-styleable是你自定义view的一套新定义的属性,下面包含了你要定义的各种属性attr
format是指定attr属性的单位,其中包括:
(1) reference: 引用某一资源,如:src="@drawable/sourcename";
(2)color:颜色,如color="#ff0000";
(3)boolean:布尔值,true或false;
(4)dimension:尺寸值,如sp,dp,px;
(5)float:浮点型,也就是小数,如0.5, 1.8;
(6)integer:整形, 如 1, 100;
(7)string:字符串
(8)fraction:百分数, 如100%
(9)enum:枚举,如 orientation="vertical"
(10)flag:位或运算,如gravity="centerHorizontal | right"
2. 创建类文件,添加构造体,获取属性并初始化变量。例:
public class MyTextView extends Vie