Android的自定义属性
简单介绍Android使用自定义VIew时,需要用到自定义属性的情况。
1.在项目文件的…/app/src/main/res/valus目录下创建attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name = "RectView">
<attr name = "rect_color" format = "color"/>
</declare-styleable>
</resources>
2.在自定义View类中的构造方法里实现:
public RectView(Context context,AttributeSet attrs){
super(context,attrs);
//使用时在自定义View的构造方法里实现
TypedArray mTypedArray =
context.obtainStyledAttributes(attrs,R.styleable.RectView);
//获取属性值--此处为颜色 若在属性里没有设置,则设置默认值(Red)
mColor = mTypedArray.getColor(R.styleable.RectView_rect_color,Color.Red);
//获取资源后回收
mTypedArray.recycle();
//实现自定义View的基础设置
initDraw();
}
之后在布局里使用该自定义View时,xml里的属性则可使用为:
<com.xxxx.xxx.RectView
android:id="@+id/rv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff"
...
app:rect_color = "@color/white" //此处为自定义属性
/>