赞
踩
最近的项目一直是按照PRD与高清,修改系统设置,调整布局、间距、颜色,涉及到一些流程的更改与自定义控件,以及对settings源码结构的研究。在项目相对空闲是,做个整理记录。由于项目依赖系统源码环境,而且在赶项目的时候,只能以最快的速度解决当前的问题,而下面的设计的代码与效果图,都是个人封装的DEMO测试,毕竟不能仅仅只是最求项目的解决过关,学过用过,就应该做点总结,毕竟我觉得很多东西,在赶项目的时候是无法去过多的仔细研究,所以有居多“废代码”,很多地方是值得仔细研究与优化改进的。
首先对原生Settings的布局,及切换跳转,按照我的研究理解,做个流程的分析简介,后面会给出我的改进与实现
1.先从布局简单的说起:
在PreferenceActivity中 可以看到:
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- setContentView(com.android.internal.R.layout.preference_list_content);
2.右边ListView的显示。
代码详见内部类:HeaderAdapter。
- //类型一,分类title,无焦点,不可点击
- static final int HEADER_TYPE_CATEGORY= 0;
- //类型二,正常的可点击的header项
- static final int HEADER_TYPE_NORMAL = 1;
- //带 switch 开关的header项
- static final int HEADER_TYPE_SWITCH = 2;
- case HEADER_TYPE_CATEGORY://下划线样式的TextView
- view = new TextView(getContext(), null,android.R.attr.listSeparatorTextViewStyle);
- case HEADER_TYPE_SWITCH://含有switch 控件的布局
- view = mInflater.inflate(R.layout.preference_header_switch_item, parent,false);
- case HEADER_TYPE_NORMAL:
- view = mInfla
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。