Android O Settings源码流程分析(静态界面篇)

Android O Settings 

静态界面篇

界面渲染篇

数据加载篇之一级菜单

数据加载篇之二级菜单

搜索栏篇

Settings(该代码是基于项目的,与源码略有出入)

路径: packages/apps/Settings

主界面和子界面

从清单文件AndroidManifest.xml中入手:

setting的主界面的Activity为 Settings

扫描二维码关注公众号,回复: 3656390 查看本文章

Settings.java类看,除了大量静态类继承SettingsActivity,就没什么东西了。

setting的子界面Activity为 SubSettings

SubSttings java 里有重写了两个方法 向上导航和判断是否有效fragment,还有一个静态内部类继承本身。

Settings与SubSttings 都是空Activity(不继承7大生命周期)

Settings与SubSttings 都继承于SettingsActivity

SettingsActivity继承自SettingsDrawerActivity,而SettingsDrawerActivity是在SettingLib中定义,SettingsDrawerActivity名称是沿用N版本的名字,但是侧滑栏功能在O版本上已经移除了。

主要分析的是SettingsActivity的onCreate()方法;

布局加载:

主界面的layout为 :settings_main_dashboard.xml:

主界面布局中包含两个FrameLayout,一个是顶部搜索栏,还有下面的主要内容(显示一级菜单)

参考7.0版本主界面布局:

子界面的layout为 :settings_main_perfs.xml:

子界面由一个LinearLayout和一个RelativeLayout组成。RelativeLayout默认是隐藏的。

界面如下:

Settings界面:

主界面使用DashboardSummary(Fragment)进行填充

子界面则使用各自的Fragment,并设置各自的主题。

点击进入下篇——界面渲染篇

猜你喜欢

转载自blog.csdn.net/qq_34149526/article/details/83186719