Android时使用PreferenceCategory和PreferenceScreen时

时间:2017-08-19 13:23:54

标签: android android-sharedpreferences

我正在学习android但我不明白PreferenceCategory和PreferenceScreen之间的区别,我看到许多教程使用第二个而不是第一个,但我不明白为什么。 当你建议我使用第一个而不是第二个,反之亦然。 另外,这两个代码是否做了同样的事情?

<PreferenceCategory
    android:title="first">
    <CheckBoxPreference
        android:key="first_preferences"
        android:title="first"
        android:defaultValue="false" />`
</PreferenceCategory>

和第二个代码:

<PreferenceScreen
    android:title="second">
    <CheckBoxPreference
        android:key="second_preferences"
        android:title="second"
        android:defaultValue="false" />`
</PreferenceScreen>

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

PreferenceScreen是偏好的容器。

PreferenceScreen内,您可以按PreferenceCategory 对内容进行分类。下面的示例将向您展示PreferenceScreenPreferenceCategory之间的区别。

示例:

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >

    <PreferenceCategory android:title="USER PROFILE" >
        <EditTextPreference 
                android:title="Set username" 
                android:summary="Set your username" 
                android:key="prefUsername"/>
    </PreferenceCategory>

    <PreferenceCategory android:title="UPDATE SETTINGS" >
        <CheckBoxPreference
            android:defaultValue="false"
            android:key="prefSendReport"
            android:summary="Helps to fix bugs"
            android:title="Send crash reports" >
        </CheckBoxPreference>

        <ListPreference
            android:key="prefSyncFrequency"
            android:entries="@array/syncFrequency"
            android:summary="@string/pref_sync_frequency_summary" 
            android:entryValues="Helps to fix bugs"
            android:title="Sync frequency" />
    </PreferenceCategory>

</PreferenceScreen>

以上XML将产生以下输出。

enter image description here

现在您可以看到PrefereceCategory 分类内容。

答案 1 :(得分:1)

首选项Screen是包含设置的根布局 首选项Category是一组相关设置的“标题”。