android自定义控件

1. 自定义一个组合控件 定义一个类 继承 LinearLayout RelativeLayout

2. 重写构造方法 两个参数的构造方法 在定义xml布局文件的时候 回去调用这个构造方法

3. 在构造方法里面 View.inflate(context, R.layout.ui_setting_view, this);
把布局文件转换成view对象 挂载到自己身上.


4.为了方便起见 希望增加一些自定义的 属性.

5. 来到values 目录 声明一个自定义的属性集 declare-styleable
在里面定义 一些自定义的属性 attr 自动在R 文件中创建 声明...

6. 使用这些自定义的属性 定义命名空间
xmlns:itheima="http://schemas.android.com/apk/res/com.itheima.mobilesafe"
itheima这个可以随便写...
res后面你的应用程序的包名. com.itheima.mobilesafe

7 . 布局文件
itheima:content_off="我是关闭的内容"
itheima:content_on="我是打开的内容"
itheima:title="我是标题"

8. 系统解析布局文件的自定义view对象的时候 会调用两个参数的构造方法
AttributeSet attrs

9 context.obtainStyledAttributes(attrs,
R.styleable.setting_view);
让系统解析到的属性集合 和 我们自己定义的集合 建立一个对应关系

10. title = a.getString(R.styleable.setting_view_title);

11. 把获取到的数据 设置到界面上.

12. 释放资源 a.recycle();

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。