何谓组织首选项啊,实际上就是为首选项分组!

分组之后,我们首页只显示组名,当我们点击进去的时候,才会显示具体的首选项列表。如图:

 

代码如下:

 
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <PreferenceScreen   
  3.   xmlns:android="http://schemas.android.com/apk/res/android"   
  4.   android:key="edittext_screen"   
  5.   android:title="屏幕标题"   
  6.   android:summary="屏幕简要说明"   
  7.   >   
  8.   <!-- 第一组 -->   
  9.   <PreferenceScreen   
  10.   xmlns:android="http://schemas.android.com/apk/res/android"   
  11.   android:key="edittext_screen"   
  12.   android:title="第一组"   
  13.   android:summary="点击进入第一组首选项"   
  14.   >   
  15.    
  16.   <RingtonePreference   
  17.   android:key="ringtonePreference"   
  18.     android:summary="简要说明"   
  19.     android:title="选择系统铃声"   
  20.     android:ringtoneType="alarm"   
  21.     android:showSilent="true"   
  22.   >   
  23.   </RingtonePreference>   
  24.   </PreferenceScreen>   
  25.      
  26.   <!-- 第二组 -->   
  27.   <PreferenceScreen   
  28.   xmlns:android="http://schemas.android.com/apk/res/android"   
  29.   android:key="edittext_screen"   
  30.   android:title="第二组"   
  31.   android:summary="点击进入第二组首选项"   
  32.   >   
  33.    <EditTextPreference   
  34.     android:dialogTitle="输入您的名称:"   
  35.     android:key="editTitlePreference"   
  36.     android:summary="简要说明"   
  37.     android:title="输入名称"   
  38.   ></EditTextPreference>   
  39.   </PreferenceScreen>   
  40.      
  41.   <!-- 第三组 -->   
  42.   <PreferenceScreen   
  43.   xmlns:android="http://schemas.android.com/apk/res/android"   
  44.   android:key="edittext_screen"   
  45.   android:title="第三组"   
  46.   android:summary="点击进入第三组首选项"   
  47.   >   
  48.    <EditTextPreference   
  49.     android:dialogTitle="输入您的名称:"   
  50.     android:key="editTitlePreference"   
  51.     android:summary="简要说明"   
  52.     android:title="输入名称"   
  53.   ></EditTextPreference>   
  54.   </PreferenceScreen>   
  55.      
  56. </PreferenceScreen>   

以上的这种方法适合首选项的数目较多时使用。

如果我们首选项的数目较少,但是我们依旧想为他们分组下,怎么办呢?

我们可以将上面代码中的嵌套PreferenceScreen改为PreferenceCategory,就这么简单!!!

 

 
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <PreferenceScreen   
  3.   xmlns:android="http://schemas.android.com/apk/res/android"   
  4.   android:key="edittext_screen"   
  5.   android:title="屏幕标题"   
  6.   android:summary="屏幕简要说明"   
  7.   >   
  8.   <!-- 第一组 -->   
  9.   <PreferenceCategory   
  10.   xmlns:android="http://schemas.android.com/apk/res/android"   
  11.   android:key="edittext_screen"   
  12.   android:title="第一组"   
  13.   android:summary="点击进入第一组首选项"   
  14.   >   
  15.    
  16.   <RingtonePreference   
  17.   android:key="ringtonePreference"   
  18.     android:summary="简要说明"   
  19.     android:title="选择系统铃声"   
  20.     android:ringtoneType="alarm"   
  21.     android:showSilent="true"   
  22.   >   
  23.   </RingtonePreference>   
  24.   </PreferenceCategory>   
  25.      
  26.   <!-- 第二组 -->   
  27.   <PreferenceCategory   
  28.   xmlns:android="http://schemas.android.com/apk/res/android"   
  29.   android:key="edittext_screen"   
  30.   android:title="第二组"   
  31.   android:summary="点击进入第二组首选项"   
  32.   >   
  33.    <EditTextPreference   
  34.     android:dialogTitle="输入您的名称:"   
  35.     android:key="editTitlePreference"   
  36.     android:summary="简要说明"   
  37.     android:title="输入名称"   
  38.   ></EditTextPreference>   
  39.   </PreferenceCategory>   
  40.      
  41.   <!-- 第三组 -->   
  42.   <PreferenceCategory   
  43.   xmlns:android="http://schemas.android.com/apk/res/android"   
  44.   android:key="edittext_screen"   
  45.   android:title="第三组"   
  46.   android:summary="点击进入第三组首选项"   
  47.   >   
  48.    <EditTextPreference   
  49.     android:dialogTitle="输入您的名称:"   
  50.     android:key="editTitlePreference"   
  51.     android:summary="简要说明"   
  52.     android:title="输入名称"   
  53.   ></EditTextPreference>   
  54.   </PreferenceCategory>   
  55.      
  56. </PreferenceScreen>   

效果如下: