当前位置:   article > 正文

Android Settings开发总结_android settings包含什么功能

android settings包含什么功能

目录

界面构成

主界面

事件响应

搜索栏

常用调试技巧

其它子模块

应用与通知

Open,卸载等的控制与显示


界面构成

主界面使用的layout是:settings_main_dashboard,子界面使用的layout是:settings_main_prefs。

主界面使用DashboardSummary(Fragment)进行填充(RecyclerView),子界面都是使用各自的Fragment进行填充。

settings_main_dashboard中只有一个FrameLayout,后面会将其替换为DashboardSummary。

settings_main_prefs中也存在一个叫main_content的FrameLayout,后面会将其替换为各自的Fragment。

界面渲染可参考:Android O Settings源码流程分析(界面渲染篇)

主界面

RecyclerView,用DashboardAdapter填充数据。

里面包括setConditions,setSuggestions,setCategory。

一级界面数据加载机制一级菜单

对应TopLevelSettings.java,布局文件:

top_level_settings.xml

二级菜单是动态加载和静态xml布局文件, preferenceScreen, PreferenceController中控制数据更新。

默认数据来源于SettingProvicer.

事件响应

1.当点击主界面上的item时会调用Utils.startWithFragment方法
2.在Utils.startWithFragment会跳转至SubSettings,对应的fragment也作为参数传递给了SubSettings
3.SubSettings是一个空的activity,但SubSettings继承于SettingsActivity,因此会调用父类SettingsActivity的onCreate方法
4.在onCreate方法中,className为SubSettings,isSubSettings为true,mIsShowingDashboard为false
5.因此会执行switchToFragment(initialFragmentName, initialArguments, true, false, mInitialTitleResId, mInitialTitle, false);
6.通过switchToFragment将settings_main_prefs的main_content替换为了子界面对应的fragment

搜索栏

搜索栏在settings_main_dashboard.xml 中的search_bar,布局文件为search_edittext.xml,对应SearchActivity,SearchFragment,用RecyclerView来显示搜索项。

实现原理参考:Settings搜索栏实现原理

常用调试技巧

针对Fragement类型子界面,可用 adb logcat -s SubSettings 轻松查看进入了哪个界面。

其它子模块

应用与通知

Open,卸载等的控制与显示

AppInfoDashboardFragment----(instant_app_buttons 打开那一栏)----launch 按钮----(InstantAppButtonsPreferenceController.java 控制打开按钮显示否, 点击事件在AppButtonsPreferenceController (里面的refreshUi控制界面刷新))

锁屏

见 SystemUI StatusBar状态栏部分功能记录

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号