(总结)自定义属性

前端之家收集整理的这篇文章主要介绍了(总结)自定义属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

自定义View自定义属性

1.values文件中,新建attrs.xml文件(如果原来没有),内容大致是这样,

<?xmlversion="1.0"encoding="utf-8"?>

<resources>

<!--自定义圆角imageview属性-->

<declare-styleablename="RoundImageView">

<attrname="xhradius"format="dimension"></attr>

<attrname="xhtype">

<enumname="fillet"value="0"></enum>

<enumname="round"value="1"></enum>

</attr>

</declare-styleable>

</resources>

解读一下,<declare-styleablename="RoundImageView">申明一个控件

,其中name="RoundImageView"是定义这个控件的那个java类的名称.

<attrname="xhradius"format="dimension"></attr>就是自定义的一条属性,申明了属性名称属性的类型。

2.在自定义Viewjava类中,使用几个构造方法来接收自定义的值。如

//半径

privatefloatradius=0;

//类型

privateinttype;

publicRoundImageView(Contextcontext,AttributeSetattrs){

this(context,attrs,0);//没有这个方法就会出错。没有这句话就会读不到值

}

publicRoundImageView(Contextcontext,AttributeSetattrs,intdefStyleAttr){

super(context,defStyleAttr);

TypedArraytypedArray=context.getTheme().obtainStyledAttributes(attrs,R.styleable.RoundImageView,defStyleAttr,0);

radius=typedArray.getDimension(R.styleable.RoundImageView_xhradius,0);//默认半径0

type=typedArray.getInt(R.styleable.RoundImageView_xhtype,0);//默认圆角类型

typedArray.recycle();

paint=newPaint();

}

3.在布局文件中引用。并设置属性

原文链接:https://www.f2er.com/xml/295555.html

猜你在找的XML相关文章