<--! 内嵌intent的模式>
<PreferenceScreen android:title="内嵌Intent">
<intent
android:targetPackage="com.test.main"
android:targetClass="com.test.main.activity"
></intent>
</PreferenceScreen>
PreferenceCategory类似于LinearLayout,用于组合一组可设置标题的Preference,使布局更具备层次感,具体翻墙点我。
这个类也没有啥特殊的东西介绍,详细参考API。preferencemanager
到此常用的Preference组件xml属性介绍完毕,对应的java方法就不再说明了,还有就是他们的protect方法也不再详细介绍,具体参见API。
上面我们简单介绍了PreferenceScreen相关xml的属性,这些其实是老版本的处理方式;自从Android 3.0引入Fragment之后,Preference相关的控件也有了变化。
由于PreferenceActivity在3.0开始也需要能够处理多屏幕碎片化问题,所以Android 3.0之前采用PreferenceScreen嵌套的方法来跳转分类细则,而Android 3.0及之后使用了Preference Headers的方法来适配多屏幕碎片化问题。
他的核心就是在主屏中通过headers的xml布局列出所有的主题设置项,每个主题设置的详细设置由各自指定的PreferenceFragment负责,而各自的PreferenceFragment可以如传统的PreferenceActivity 一样布局自身的PreferenceScreen。
preference-headers就是他们的root,既然这样,那我们就来看看Headers相关的组件及方法吧。
点我翻墙查看。Header继承自Object,实现了Parcelable,用来展示一个item的header。
相关属性如下:
attr description
如下是一个简单展示:
<?xml version="1.0" encoding="utf-8"?>
<preference-headers xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 不同的fragment来加载不同的Preference文件 -->
<header android:fragment="com.test.fragment.Fragment1"
android:summary="test 1"
android:title="Name1"></header>
......
<!-- 同一个fragment加载不同的Preference文件,使用extra区分 -->
<header android:fragment="com.test.fragment.Fragment"
android:summary="test"
android:title="Name" >
<extra
android:name="type"
android:value="first" />
</header>
......
<!-- header中定义<intent>节点,类似extra,此处省略 -->
</preference-headers>
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-49639-3.html
就换船吧
重置網絡設置