Android 复选框首选项和额外选项
Android checkbox preferences and extra options
是否可以设置 android 复选框首选项或列表首选项以向首选项屏幕添加更多或更少的项目?如果可以,我该如何实现?
例如我有这样一个简单的布局:
<ListPreference
android:key="wallpaper-type"
android:title="Choose Wallpaper Style"
android:entries="@array/wpType"
android:entryValues="@array/wpTypeValues"
/>
此列表中有 3 个选项。我希望这样,如果您选择选项 1,您可以选择不同的菜单项,因为每个项目都有不同的用户可以更新的参数。
同样,如果我有这个选项:
<CheckBoxPreference
android:key="enable_brightness"
android:title="Enable Brightness Tap Menu"/>
因此,如果用户单击此复选框,则可以将另一个首选项菜单添加到视图中。
也许我的做法全错了,应该重新设计我构建视图和选项的方式,或者最好从 xml 中填充动态选项。
标准的方法是定义android:dependency
。不可用的首选项显示为禁用而不是消失。
此外,一般来说,如果您正在使用首选项,您希望通过设置 android:persistent="true"
将其保存在 SharedPreference 中
这是一个示例
<CheckBoxPreference
android:title="@string/show_notifications_title"
android:key="show_notifications"
android:persistent="true"
android:defaultValue="true"/>
<CheckBoxPreference
android:title="@string/show_file_size_error_title"
android:key="show_file_size_error"
android:dependency="show_notifications"
android:persistent="true"
android:defaultValue="true"/>
是否可以设置 android 复选框首选项或列表首选项以向首选项屏幕添加更多或更少的项目?如果可以,我该如何实现?
例如我有这样一个简单的布局:
<ListPreference
android:key="wallpaper-type"
android:title="Choose Wallpaper Style"
android:entries="@array/wpType"
android:entryValues="@array/wpTypeValues"
/>
此列表中有 3 个选项。我希望这样,如果您选择选项 1,您可以选择不同的菜单项,因为每个项目都有不同的用户可以更新的参数。
同样,如果我有这个选项:
<CheckBoxPreference
android:key="enable_brightness"
android:title="Enable Brightness Tap Menu"/>
因此,如果用户单击此复选框,则可以将另一个首选项菜单添加到视图中。
也许我的做法全错了,应该重新设计我构建视图和选项的方式,或者最好从 xml 中填充动态选项。
标准的方法是定义android:dependency
。不可用的首选项显示为禁用而不是消失。
此外,一般来说,如果您正在使用首选项,您希望通过设置 android:persistent="true"
这是一个示例
<CheckBoxPreference
android:title="@string/show_notifications_title"
android:key="show_notifications"
android:persistent="true"
android:defaultValue="true"/>
<CheckBoxPreference
android:title="@string/show_file_size_error_title"
android:key="show_file_size_error"
android:dependency="show_notifications"
android:persistent="true"
android:defaultValue="true"/>