如何在偏好设置中创建“子类别”?

7

我有一个“偏好设置”页面,我想在“自定义闪卡”偏好设置下方添加3个“缩进”的选项,就像子类别一样。现在它们都在彼此下面,并且似乎是用于不同的设置。如何使它们看起来像“自定义闪卡”偏好设置的子类别。只有当选中“自定义闪卡”时,这三个选项才会变为可用状态。谢谢!

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<   PreferenceCategory
android:title="Flashcard Selection"
android:key="flashcard_selection">
<CheckBoxPreference
    android:key="all_flashcards"
    android:summary="Display All Flashcards"
    android:title="All Flashcards"
    android:defaultValue="true" 
    />
<CheckBoxPreference
    android:key="custom_flashcards"
    android:summary="Display a customized list of flashcards"
    android:title="Custom Flashcards"
    android:defaultValue="false"/>
    <CheckBoxPreference
        android:key="red_flashcards"
        android:dependency="custom_flashcards"
        android:summary="Display Red Flashcards"
        android:title="Red"
        android:defaultValue="false"
        />
    <CheckBoxPreference
        android:key="yellow_flashcards"
        android:summary="Display Yellow Flashcards"
        android:title="Yellow"
        android:defaultValue="false"
        android:dependency="custom_flashcards"
        />
    <CheckBoxPreference
        android:key="green_flashcards"
        android:summary="Display Green Flashcards"
        android:title="Green"
        android:defaultValue="false"
        android:dependency="custom_flashcards"
        />
    <ListPreference
        android:key="frontside_preference"
        android:summary="Choose what do you want on your front side"
        android:title="Front side"
        android:entries= "@array/Frontside_selection_array"
        android:entryValues ="@array/Frontside_selection_values"
        android:defaultValue="1"
 />



</PreferenceCategory>
 </PreferenceScreen>

可以通过嵌套的“PreferenceScreen”条目来添加子类别。请参见此答案。http://stackoverflow.com/a/16041588/6524594 - ayampolsky
1个回答

0
创建子类别的一种选项是使用嵌套偏好设置屏幕,将自定义闪卡CheckBoxPreference标签切换为PreferenceScreen标签,并在三个自定义选项后关闭它。当点击自定义闪卡选项时,将出现一个新屏幕,其中包含三个复选框选项。
<PreferenceCategory
    android:key="flashcard_selection"
    android:title="Flashcard Selection">
    <CheckBoxPreference
        android:defaultValue="true"
        android:key="all_flashcards"
        android:summary="Display All Flashcards"
        android:title="All Flashcards" />
    <PreferenceScreen
        android:defaultValue="false"
        android:key="custom_flashcards"
        android:summary="Display a customized list of flashcards"
        android:title="Custom Flashcards" >

        <CheckBoxPreference
            android:defaultValue="false"
            android:dependency="custom_flashcards"
            android:key="red_flashcards"
            android:summary="Display Red Flashcards"
            android:title="Red" />
        <CheckBoxPreference
            android:defaultValue="false"
            android:dependency="custom_flashcards"
            android:key="yellow_flashcards"
            android:summary="Display Yellow Flashcards"
            android:title="Yellow" />
        <CheckBoxPreference
            android:defaultValue="false"
            android:dependency="custom_flashcards"
            android:key="green_flashcards"
            android:summary="Display Green Flashcards"
            android:title="Green" />


    </PreferenceScreen>

</PreferenceCategory>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接