在Android中自定义控件分为9个步骤:
1、创建一个自定义的组合控件,例如:SettingView 继承一个布局文件 RelativeLayout 或者LinearLayout或ViewGroup
2、实现构造方法 在构造方法中设置要显示的内容
View.inflate(context,R.layout.test,this);
3、添加自定义属性 直接添加时会报错的 itheima:title="标题"
4、声明命名控件
xmlns:zkteco="http://schemas.android.com/apk/res/<应用程序包名>"
5、声明自定义属性
在valuse文件夹中创建attrs.xml
例如:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="SettingView">
<attr name="title" format="string" /> //代表是类型为string
<attr name="desc_on" format="string" />
<attr name="desc_off" format="string" />
</declare-styleable>
</resources>
6、观察 .R文件中的styleable类中的数组SettingView
7、回到自定义组合控件的Java代码中,在两个参数的构造方法里面:
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.SettingView);
讲自定义的属性和attrs的集合建立一种对应关系
a.getString(0); 获取attrs数组中第0个元素值
a.getString(1); 获取attrs数组中第1个元素值
例如:
String title = a.getString(R.styleable.SettingView_title);
desc_on = a.getString(R.styleable.SettingView_desc_on);
desc_off = a.getString(R.styleable.SettingView_desc_off);
8、用完a a.recycle()释放资源
9、扩展自定义控件的一些方法。设置标题 设置内容 设置相应的点击事件。