自定义组合控件SettingItemView
1. 布局文件中完成item样式
2. 创建自定义SettingItemView,继承RelativeLayout, 在构造方法中完成布局加载
3. 设置item点击事件,Checkbox切换,文字变化
4. 在SP中记录item状态, 在SplashActivity中判断item状态,决定是否升级
SettingItemView自定义属性
- 删除代码中对文本的动态设置, 改为在布局文件中设置
在布局文件中增加新的命名空间
xmlns:itheima="http://schemas.android.com/apk/res/com.itheima.mobilesafeteach"
参照系统源码attrs.xml, 找到定义TextView属性的位置,拷贝相关代码
创建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>
读取自定义属性的值, 更新TextView的内容
int count = attrs.getAttributeCount(); for (int i = 0; i < count; i++) { Log.d("Test", "name=" + attrs.getAttributeName(i) + "; value=" + attrs.getAttributeValue(i)); } String title = attrs.getAttributeValue(NAMESPACE, "title");
自定义组合控件小结
1.声明一个View对象 继承相对布局,或者线性布局 或者其他的ViewGroup 2.在自定义的View对象里面重写它的构造方法。在构造方法里面就把布局都初始化完毕 3.根据业务需求 添加一些api方法,扩展自定义的组合控件 4.布局文件里面 可以自定义一些属性