一,系统设置首页
Android系统设置的主界面是com.android.settings.Settings
, 但是它只是一个activity-alias
, 指向的是.homepage.SettingsHomepageActivity
需要注意的是通过命令(adb shell “dumpsys window | grep mCurrentFocus”)查看手机顶层activity时,打印出的不是targetActivity,而是这个activity-alias.
.homepage.SettingsHomepageActivity
中的逻辑并不复杂,直接加载了TopLevelSettings
这个Fragment
showFragment(new TopLevelSettings(), R.id.main_content);
TopLevelSettings
通过AndroidX
的Preference
来展示设置项列表,设置项列表的内容通过静态配置+动态添加的方式获取。
1,静态配置
所谓静态配置就是通过xml来配置。 如果你还不了解Preference
,可以移步:www.jianshu.com/p/348eb0928… 简单了解一下
TopLevelSettings
继承自抽象类DashboardFragment
, 实现抽象方法getPreferenceScreenResId()
并返回preference的配置文件即可完成静态配置。
@Override
protected int getPreferenceScreenResId() {
return R.xml.top_level_settings;
}
top_level_settings
中配置了页面需要展示的配置项:
…
其中:
key
:该配置项的主键
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享
title
:配置项的标题
summary
:概要标题下面的文字icon
:前面的图标order
:用来做排序的,值越小则排行越靠前fragment