2024年3月21日发(作者:)
关于Android Settings中的八个问题
长沙Android培训:关于Android Settings中的八个问题,本文将回答以下八个问
题,如有错误,敬请批评指正,不胜感激!(注:本文中的Settings解析基于android4.0+)
问题一、Settings的主界面是怎么实现的?
问题二、为什么使用hierarchyviewer 时Settings中的很多界面显示的都是
SubSettings?
问题三、hierarchyviewer 中显示SubSetting时如何确定我进入的是哪个
fragment?
问题四、点击设置界面的某一个header时,设置界面是如何切换的?
问题五、中getMetaData与getStartingFragmentClass这两个函
数是否有点矛盾?
问题六、Settings的shortcut是如何创建的?从shortcut进入Settings的流程是
什么?
问题七、为什么我从Settings的shortcut进入时,hierarchyviewer显示的就不是
SubSettings(如Data usage)?
问题八、中很多继承自它的内部类都是空实现,为什么要写这些类?
-------------------------------------------------------------------------------------
----------------------------------------------------
由于项目需要,本人就对Android中的Settings进行了解析,希望能帮到对Settings
有兴趣的同志们~
-------------------------------------------------------------------------------------
----------------------------------------------------
问题一、Settings的主界面是怎么实现的?
为了能适应平板和手机,Settings
PreferenceFragment结合的实现方式。
采用了PreferenceActivity和
继承自PreferenceActivity,是Settings的主界面,它通过
loadHeadersFromResource函数(api level 11)加载res/xml/settings_来构
造界面。在settings_中声明了要在Settings主界面显示的各个header(如
Sound、Display等)。Adapter将其中的header分为三类。在
Adapter中的getView方法中根据header的类型使用不同的布局文件。
为header划分类型的函数
static int getHeaderType(Header header) {
if (nt == null && == null) {


发布评论