Android Q Settings模块新特性梳理

 

Android Q Settings模块新特性梳理

1.代码结构差异

Android Q上Settings模块与之前P版本上的Settings模块最直观的差一点是代码结构上的差异。Q上将Settings中会使用到的特有的控件,会移动到SettingsLib下面,为每一种特有控件创建一个目录,并且创建android.bp文件,将widget编译成jar包文件,然后在SettingsLib的android.bp文件中引用这些jar包。比如:

LayoutPreference,SettingsSpinner,AppPreference等等

 

 

 

 

以LayoutPreference为例:其目录下有res, src,android.bp和AndroidManifest.xml文件,在Android.bp中定义编译完成后生成SettingsLibLayoutPreference

 

 

LayoutPreference中的android.bp文件,编译后会生成.jar

 

 

在SettingsLib中的android.bp文件中会使用到该jar文件,

 

其他的控件,包括SettingsSpinner,ProgressBar,SearchWidget,AppPerference等,也都是这样的结构。

 

2. 一级菜单加载方式差异

Android Q上Settings模块与之前P版本另一个较大差异点,在于主菜单加载方式的差异。Q上相当于在P的基础上,新增了一套加载逻辑,并且P上的加载逻辑还生效。

 

Android P上一级菜单加载流程:

通过PMS查询action为com.android.settings.action.SETTINGS,并且有meta-data携带有com.android.settings.category.ia.home的Activity组件,解析其数据(title,fragment,icon,等),

 

将其封装未Tile类型的数据,Tile是SettingsLib中定义的数据结构类,并将其存储在对应的DashboardCategory集合中.S

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值