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一级界面相关推荐

  1. android setting模块,android O版本 设置(Settings)模块总结--设置的一级界面的加载

    O版本的设置界面相对有N有了一些变化,O上面增加了顶级类别的菜单,而之前一些在一级菜单的则移动到了二级界面里面, 如"WIFI","移动网络"等之前是在一级界面 ...

  2. android 三级界面返回直接到一级界面

    从一级界面用intent跳到二级界面,在从二级界面跳到三级界面这个时候在 传递下面一个finish() 这样二级界面就不存了,跳到三级界面在返回的时候就直接 到一级界面了,这样不用在intent跳到到 ...

  3. Android8.0(34)----Android 8.0 Settings流程分析与变动

    Android 8.0 Settings流程分析与变动 一,相比Android Settings 7.0 如下图,在7.0的基础上,去掉了7.0新加的侧滑菜单(可能是觉得有点鸡肋吧).多加了一级页面, ...

  4. Android L Settings 简要分析

    1.本文说明 本文主要针对L平台上Settings模块正常启动流程做一个简要分析,并试着分析一下Settings下面Storage选项的实现过程. 2.Settings概览 在之前的KK平台上Sett ...

  5. android settings源代码分析(2)

    通过前一篇文章  Android settings源代码分析(1)  分析,大概知道了Settings主页面是如何显示,今天主要分析"应用"这一块google是如何实现的. 应用对 ...

  6. android settings源代码分析(1)

    1.Android settings源码的source code路径为: kikat_4.4_CTS\packages\apps\Settings 2.settings主界面UI布局 Settings ...

  7. android解锁界面分析,Android 7.0 锁屏解锁之向上滑动显示解锁界面分析

    Android 7.0 锁屏解锁之向上滑动显示解锁界面分析 by jing.chen 锁屏的解锁操作是在锁屏界面向上滑动实现的,通过向上滑动调出解锁界面(如图案.PIN.密码解锁界面),在解锁界面输入 ...

  8. LR学习笔记三 之 界面分析

    第三讲 LR界面分析 Controller 可以使用LR Controller来管理和维护方案 LR使您可以从一个单一的控制点简单有效地控制所有的Vuser 启动:LR->Application ...

  9. 计算器界面分析及界面程序实现

    文章目录 1 计算器程序界面分析 2 计算器界面程序实现 2.1 计算器界面程序初步实现 2.2 计算器界面代码重构 1 计算器程序界面分析 程序界面如下: 界面设计: 定义组件间的间隔: Space ...

最新文章

  1. 数据仓库系列篇——唯品会大数据架构
  2. 如何给页面加上loding_怎么做404页面?
  3. modbus poll\slave
  4. HDU多校3 - 6975 Forgiving Matching(多项式匹配字符串)
  5. HTTP之100-Continue
  6. P7516-[省选联考2021A/B卷]图函数【bfs】
  7. OCP China Day“登陆”,最新技术、方案吸睛!
  8. Spring JdbcTemplate示例
  9. 首销价1999元起!OPPO K9 Pro开启预售:搭载天玑1200芯片
  10. ubuntu软件包详解
  11. 启动界面、封面图片、Splash关不掉,一直转圈,无法进入
  12. Fiddler显示IP的设置方法
  13. SpringBoot 项目 Shiro 的实现
  14. AntDB基于WAL日志的DML数据闪回实现
  15. 【论文笔记】FCN:Fully Convolutional Networks for Semantic Segmentation
  16. react实现异步插件_react项目优化之webpack
  17. 保护视力的4种锻炼方法
  18. HanLP自然语言处理包介绍
  19. IPGuard客户端卸载命令
  20. 光伏发电上网电量无线传输/4G能源数据集中器/能源数据采集终端

热门文章

  1. Scrum联盟的新任全球营销副总裁访谈
  2. loadrunner-4-4事务摘要分析
  3. Spring处理跨域请求
  4. 使用keytool 生成证书
  5. 区分execl与system——应用程序中执行命令
  6. [JBoss] JNDI与JBossNS
  7. fscache 调研
  8. C#读写文本文件,字符串截取
  9. [转]数据安全之SQL注入资料整理
  10. sigmoid函数的求导过程