Settings界面分析之Settings一级界面
AndroidManifest.xml中
com.android.settings.Settings这个类
<category android:name="android.intent.category.LAUNCHER" /> 所在launcher的界面可以直接启动Settings。
Settings的基本关系:public class Settings extends PreferenceActivity implements ButtonBarHandler
可以看出Settings即为PreferenceActivity。
PreferenceActivity的各个Item如何添加(以Settings为例):
PreferenceActivity ----setListAdapter----->HeaderAdapter(mHeaders)----->HeaderViewHolder(ImageView icon;TextView title;TextView summary;)
基本实现就是通过HeaderAdapter将mHeaders适配到ListView当中。而在适配每一个Header的时候,会取出header的icon以及title,summary等并放入HeaderViewHolder中,
然后通过view.setTag(holder);将holer设给view,最后返回每一个view为一个item。
所以在Settings中的每一个item都是一个header, 而你这些header是在settings_headers.xml文件中配置的。通过loadHeadersFromResource(R.xml.settings_headers, headers);将其加载进来。loadHeadersFromResource这个函数就是一个xml的文件的解析函数,得到header并将其放入headers中。
接下来就是对各个item的监听:
继续在PreferenceActivity中:
onListItemClick---->onHeaderClick。在onHeaderClick中主要是有startWithFragment,switchToHeader,startActivity等三个函数根据需要实现界面的跳转。以蓝牙界面为例这里会跳用会startWithFragment启动一个fragment实现向蓝牙设置的界面的跳转。
Settings界面分析之Settings一级界面相关推荐
- android setting模块,android O版本 设置(Settings)模块总结--设置的一级界面的加载
O版本的设置界面相对有N有了一些变化,O上面增加了顶级类别的菜单,而之前一些在一级菜单的则移动到了二级界面里面, 如"WIFI","移动网络"等之前是在一级界面 ...
- android 三级界面返回直接到一级界面
从一级界面用intent跳到二级界面,在从二级界面跳到三级界面这个时候在 传递下面一个finish() 这样二级界面就不存了,跳到三级界面在返回的时候就直接 到一级界面了,这样不用在intent跳到到 ...
- Android8.0(34)----Android 8.0 Settings流程分析与变动
Android 8.0 Settings流程分析与变动 一,相比Android Settings 7.0 如下图,在7.0的基础上,去掉了7.0新加的侧滑菜单(可能是觉得有点鸡肋吧).多加了一级页面, ...
- Android L Settings 简要分析
1.本文说明 本文主要针对L平台上Settings模块正常启动流程做一个简要分析,并试着分析一下Settings下面Storage选项的实现过程. 2.Settings概览 在之前的KK平台上Sett ...
- android settings源代码分析(2)
通过前一篇文章 Android settings源代码分析(1) 分析,大概知道了Settings主页面是如何显示,今天主要分析"应用"这一块google是如何实现的. 应用对 ...
- android settings源代码分析(1)
1.Android settings源码的source code路径为: kikat_4.4_CTS\packages\apps\Settings 2.settings主界面UI布局 Settings ...
- android解锁界面分析,Android 7.0 锁屏解锁之向上滑动显示解锁界面分析
Android 7.0 锁屏解锁之向上滑动显示解锁界面分析 by jing.chen 锁屏的解锁操作是在锁屏界面向上滑动实现的,通过向上滑动调出解锁界面(如图案.PIN.密码解锁界面),在解锁界面输入 ...
- LR学习笔记三 之 界面分析
第三讲 LR界面分析 Controller 可以使用LR Controller来管理和维护方案 LR使您可以从一个单一的控制点简单有效地控制所有的Vuser 启动:LR->Application ...
- 计算器界面分析及界面程序实现
文章目录 1 计算器程序界面分析 2 计算器界面程序实现 2.1 计算器界面程序初步实现 2.2 计算器界面代码重构 1 计算器程序界面分析 程序界面如下: 界面设计: 定义组件间的间隔: Space ...
最新文章
- 数据仓库系列篇——唯品会大数据架构
- 如何给页面加上loding_怎么做404页面?
- modbus poll\slave
- HDU多校3 - 6975 Forgiving Matching(多项式匹配字符串)
- HTTP之100-Continue
- P7516-[省选联考2021A/B卷]图函数【bfs】
- OCP China Day“登陆”,最新技术、方案吸睛!
- Spring JdbcTemplate示例
- 首销价1999元起!OPPO K9 Pro开启预售:搭载天玑1200芯片
- ubuntu软件包详解
- 启动界面、封面图片、Splash关不掉,一直转圈,无法进入
- Fiddler显示IP的设置方法
- SpringBoot 项目 Shiro 的实现
- AntDB基于WAL日志的DML数据闪回实现
- 【论文笔记】FCN:Fully Convolutional Networks for Semantic Segmentation
- react实现异步插件_react项目优化之webpack
- 保护视力的4种锻炼方法
- HanLP自然语言处理包介绍
- IPGuard客户端卸载命令
- 光伏发电上网电量无线传输/4G能源数据集中器/能源数据采集终端