Android 11 Settings源码入门,别再说自己不会了

本文从系统设置首页出发,详细介绍了Android 11 Settings的源码实现,包括静态配置和动态添加设置项的过程。静态配置通过XML完成,动态添加则是根据特定action查询系统应用。此外,还探讨了其他设置界面的加载逻辑,如通过MetaData获取fragment并进行切换。
摘要由CSDN通过智能技术生成
一,系统设置首页

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通过AndroidXPreference来展示设置项列表,设置项列表的内容通过静态配置+动态添加的方式获取。

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值