自定义组合控件的过程
1.自定义一个View 一般来说,继承相对布局,或者线性布局 ViewGroup;
----------------------------------
自定义属性方法
6.自定义我们的属性,在Res/values/attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="TextView">
<attr name="title" format="string" />
<attr name="desc_on" format="string" />
<attr name="desc_off" format="string" />
</declare-styleable>
</resources>
7.在布局文件中,使用我们自定义的属性
例如:
itheima:title="设置自动更新"
itheima:desc_on="设置自动更新已经开启"
itheima:desc_off="设置自动更新已经关闭"
1.自定义一个View 一般来说,继承相对布局,或者线性布局 ViewGroup;
2.实现父类的构造方法。一般来说,需要在构造方法里初始化自定义的布局文件;
|--使用inflation方法去得到定制的 布局文件
|--构造方法用两个参数的那个.
3.根据一些需要或者需求,定义一些API方法;
|--这样不需要再调用 控件里的控件.直接调用方法就行了
----------------------------------
自定义属性方法
5.添加自定义命名空间,例如:
eclispe下 :
xmlns:itheima="http://schemas.android.com/apk/res/《包名》"!!!! android studio 下:
xmlns:itheima="http://schemas.android.com/apk/res-auto"
6.自定义我们的属性,在Res/values/attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="TextView">
<attr name="title" format="string" />
<attr name="desc_on" format="string" />
<attr name="desc_off" format="string" />
</declare-styleable>
</resources>
7.在布局文件中,使用我们自定义的属性
例如:
itheima:title="设置自动更新"
itheima:desc_on="设置自动更新已经开启"
itheima:desc_off="设置自动更新已经关闭"
8.在我们自定义控件的带有两个参数的构造方法里AttributeSet attrs 可以得到这写属性
attrs.getAttribute( 命名空间, 名字);
attrs.getAttribute( "http://schemas.android.com/apk/res-auto", "title");