自定义控件-属性自定义

1.xml中增加 xmlns:app="http://schemas.android.com/apk/res/包名"

2.res/value下attrs增加借点

<declare-styleable name="TestAttr">
<attr name="name" format="reference" />
<attr name="age">
<flag name="child" value="10" />
<flag name="young" value="18" />
<flag name="oldman" value="60" />
</attr>
<attr name="textSize" format="dimension" />
</declare-styleable>

format还可以指定其他的类型比如;

reference   表示引用,参考某一资源ID
string   表示字符串
color   表示颜色值
dimension   表示尺寸值
boolean   表示布尔值
integer   表示整型值
float   表示浮点值
fraction   表示百分数
enum   表示枚举值
flag   表示位运算

3.在自定义view的代码中引入自定义属性,修改构造函数

TypedArray a = context.obtainStyledAttributes(attrs,R.styleable.MyView);

调用结束后务必调用recycle()方法,否则这次的设定会对下次的使用造成影响  

defStyle  指的是xml中定义的style节点

4.引入自定义布局

View.inflate(context, R.layout.custom_lay, this);

 

Android自定义属性时TypedArray的使用方法

Android中自定义样式与View的构造函数中的第三个参数defStyle的意义

posted @ 2015-04-15 15:35  guduey  阅读(119)  评论(0编辑  收藏  举报