自定义组合控件及自定义属性

时间:2022-04-08 20:41:23

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