在日常的开发工作中,我们常常需要自定义View,当然这篇文章不是用来记录自定义View的,而是用来记录自定义attribute的,这也属于android开发的基础部分,在这里只是做个简单记录,下面开始自定义属性的四部曲
第一部:定义属性
定义属性的时候有两个关键标签和一个关键属性,他们是:<declare-styleable> 、<attr>以及format属性,定义格式如下:
<declare-style name=“自定义属性数组名称”>
<attr name=“属性名称1” format=“值类型”/>
</declare-style>
常用的format格式有:
boolean 布尔值 true/false
string 字符串
integer 整数
float 小数
fraction 百分数
dimension 尺寸 px,sp,dp
reference 引用类型 资源
enum 枚举类型
介绍下enum的定义方式
//定义
<declare-style name=“自定义属性数组名称">
<attr name=“sex” format=“integer”>
<enum name=“girl” value=“0” />
<enum name=“boy” value=“1”/>
</attr>
</declare-style>
//获取
typedArray.getInteger(int index, int defValue);
第二部 引用命名空间
xmlns:自定义命名空间="http://schemas.android.com/apk/res-auto"
第三部 使用自定义属性
//在控件的属性中使用,格式如下:
自定义命名空间:属性名=属性值
第四部:获取自定义属性值
TypeArray typeArray=context.obainStyledAttributes(attires,R.styable.自定义属性数组名称)
typeArray.get'format类型’(R.stayable.自定义属性数组名称_自定义属性名)
typeArray.recycle();//回收
至此,完成自定义属性的定义和使用