版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zl18603543572/article/details/88370288
1 可查看Android自定义View的基本使用
1 精通Android自定义View(一)自定义控的基本使用
2 精通Android自定义View(二)自定义属性使用详解
2 string 字符串
定义
<declare-styleable name="MyTextView">
<!--字符串-->
<attr name="my_textname" format="string"/>
</declare-styleable>
自定义控件中获取
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.MyTextView);
//获取文字
String textName = typedArray.getString(R.styleable.MyTextView_my_textname);
3 dimension 尺寸值
定义
<declare-styleable name="MyTextView">
<!-- 尺寸值 -->
<attr name="my_textsize" format="dimension"/>
</declare-styleable>
自定义控件中获取
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.MyTextView);
//获取
//获取文字大小 14是设置的默认值
float textsize = typedArray.getDimensionPixelSize(R.styleable.MyTextView_my_textsize, 14);
4 color:颜色值
定义
<declare-styleable name="MyTextView">
<!--颜色-->
<attr name="my_textcolor" format="color"/>
</declare-styleable>
自定义控件中获取
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.MyTextView);
//获取文字颜色
int color = typedArray.getColor(R.styleable.MyTextView_my_textcolor, 0xff00ff00);
5 reference:参考某一资源ID。
定义
<declare-styleable name="MyTextView">
<!--引用某个资源的ID-->
<attr name="my_background" format="reference"/>
</declare-styleable>
自定义控件中获取
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.MyTextView);
//获取背景
int resourceId = typedArray.getResourceId(R.styleable.MyTextView_my_background, R.mipmap.ic_launcher);
6 boolean:布尔值.
7 枚举
一般属性需要指定 name 和 format ,枚举属性只需指定 name,然后用 enum 标签 指定所有可能属性的 name和value(注:value只能为int型)
定义
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="custom_view">
<attr name="checkType" format="string" />
<attr name="type">
<enum name="password" value="1" />
<enum name="checkButton" value="2" />
<enum name="phone" value="3" />
</attr>
</declare-styleable>
</resources>
自定义控件中使用
int type = array.getInt(R.styleable.custom_view_type, 0);