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);