论坛首页 移动开发技术论坛

android 组织首选项

浏览 1858 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-05-16   最后修改:2011-05-16
    首选项框架对首选项组织到类别中提供了一定的支持。例如,如果拥有多个首选项,可以构建一个视图来显示首选项高级类别。用户然后就可以深入到每个类别,查看和管理特定于该组的首选项。

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



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





   下面我们看看通过嵌套 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元素定义的分组 是什么效果。


这种效果就比较直观了。

    使用 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 探索首选项框架 ListPreference】这篇文章http://byandby.iteye.com/blog/1044916 下载源码 稍作修改即可。
  • 大小: 16.2 KB
  • 大小: 17.3 KB
  • 大小: 15.8 KB
  • 大小: 32.2 KB
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics