android 机构首选项

android 组织首选项
    首选项框架对首选项组织到类别中提供了一定的支持。例如,如果拥有多个首选项,可以构建一个视图来显示首选项高级类别。用户然后就可以深入到每个类别,查看和管理特定于该组的首选项。

    可以通过两种方式来实现此目的。可以在根 PreferenceScreen中引入嵌套的 PreferenceScreen 元素,或者可以使用 PreferenceCategory 来获得类似的结果。下面我们先来看看使用嵌套的 PreferenceScreen 效果,看下图。

android 机构首选项

有两个类别分别是 肉类 和 蔬菜类 当我们 点击肉类就会跳到肉类的选项 当我们点击 蔬菜类 就会跳到 蔬菜的选项

android 机构首选项

android 机构首选项

   下面我们看看通过嵌套 PreferenceScreen 元素创建的首选项分组。 qiantao.xml文件
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
	android:key="using_categories_in_root_screen" android:title="Categories"
	android:summary="Using Preference Categories">

	<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
		android:key="meats_screen" android:title="肉类"
		android:summary="Preferences related to Meats">

		<CheckBoxPreference android:key="fish_selection_pref"
			android:title="鱼" android:summary="小心扎嗓子" />

		<CheckBoxPreference android:key="lamb_selection_pref"
			android:title="羊肉" android:summary="小肥羊吃多了不好" />

		<CheckBoxPreference android:key="chicken_selection_pref"
			android:title="鸡肉" android:summary="营养价值不够高" />
	</PreferenceScreen>

	<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
		android:key="vegi_screen" android:title="蔬菜类"
		android:summary="Preferences related to vegetable">

		<CheckBoxPreference android:key="tomato_selection_pref"
			android:title="西红柿" android:summary="西红柿可以炒鸡蛋⊙﹏⊙" />

		<CheckBoxPreference android:key="xilanhua_selection_pref"
			android:summary="营养价值很丰富" android:title="西兰花" />
	</PreferenceScreen>
</PreferenceScreen>


     在看看 通过 PreferenceCategory元素定义的分组 是什么效果。

android 机构首选项
这种效果就比较直观了。

    使用 PreferenceCategory 组织的首选项 fenlei.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
	android:key="using_categories_in_root_screen" android:title="Categories"
	android:summary="Using Preference Categories">

	<PreferenceCategory xmlns:android="http://schemas.android.com/apk/res/android"
		android:key="meats_screen" android:title="肉类"
		android:summary="Preferences related to Meats">

		<CheckBoxPreference android:key="fish_selection_pref"
			android:title="鱼" android:summary="小心扎嗓子" />

		<CheckBoxPreference android:key="lamb_selection_pref"
			android:title="羊肉" android:summary="小肥羊吃多了不好" />

		<CheckBoxPreference android:key="chicken_selection_pref"
			android:title="鸡肉" android:summary="营养价值不够高" />
	</PreferenceCategory>

	<PreferenceCategory xmlns:android="http://schemas.android.com/apk/res/android"
		android:key="vegi_screen" android:title="蔬菜类"
		android:summary="Preferences related to vegetable">

		<CheckBoxPreference android:key="tomato_selection_pref"
			android:title="西红柿" android:summary="西红柿可以炒鸡蛋⊙﹏⊙" />

		<CheckBoxPreference android:key="xilanhua_selection_pref"
			android:summary="营养价值很丰富" android:title="西兰花" />
	</PreferenceCategory>
</PreferenceScreen>


   这两种 方式就差个元素的事,看大家喜欢那种了。。

  android 机构首选项 如果大家想看看运行效果 可以去参考【android 探索首选项框架 ListPreference】这篇文章http://byandby.iteye.com/blog/1044916 下载源码 稍作修改即可。
1 楼 yinger_fei 2011-11-15  
很清晰,正好用到了。谢谢android 机构首选项
2 楼 byandby 2011-11-15  
yinger_fei 写道
很清晰,正好用到了。谢谢android 机构首选项

android 机构首选项