1、声明一个View对象继承相对布局或线性布局或其他的ViewGroup;
2、在自定义的View对象里面重写它的构造方法,在构造方法里面就把布局都初始化完毕;
3、根据业务需求 添加一些api方法,扩展自定义的组合控件;
4、扩展自定义属性:
5、声明自定义属性的命名空间:
xmlns:android="http://schemas.android.com/apk/res/android"(系统自带的命名空间)
xmlns:mAttrs="http://schemas.android.com/apk/res/packagename"
6、在res目录下的values目录下创建attrs.xml的文件,声明属性:(参照sdk文件下platforms\android-16\data\res\values\attrs.xml)
<declare-styleable name="SettingItemView">
<attr name="title" format="string" />
<attr name="desc_on" format="string" />
<attr name="desc_off" format="string" />
</declare-styleable>
7、布局文件里面定义的属性都放带有(AttributeSet attrs)参数的构造方法中;
8、获取定义的属性:(通过命名空间和属性名称获取属性值)
attrs.getAttributeValue(String namespace, String name);
eg: attrs.getAttributeValue("http://schemas.android.com/apk/res/packagename", "title");