棒棒糖上的android系统偏好设置屏幕似乎使用类似于“卡片布局”的布局。如何获取Android系统偏好设置?
我试图让我的应用程序相同的外观,但不能看到他们如何使用默认PreferenceFragment
实现它。任何人都可以向我解释,我怎样才能达到同样的效果,而不必写我自己的喜好?
请注意,我已经看到并阅读这些问题,但他们没有提供合适的答案:
- How to achieve preference category cards like Android System Settings(应答简单地展示了如何创建一个布局类似于无关与
PreferenceFragment
做) - Android Lollipop Sections Separator/Divider(指喜好截图,但OP似乎并不想将它应用到
PreferenceFragment
)
如果是感兴趣的,我目前的喜好XML看起来是这样的:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto">
<PreferenceCategory android:title="@string/preferences_title_general">
<Preference
android:key="Prefs.Delete.Row.Token"
android:summary="@string/preferences_delete_row_token_summary"
android:title="@string/preferences_delete_row_token_title"/>
<Preference
android:key="Prefs.Delete.Cell.Token"
android:summary="@string/preferences_delete_cell_token_summary"
android:title="@string/preferences_delete_cell_token_title"/>
<Preference
android:key="Prefs.Null.Token"
android:summary="@string/preferences_null_token_summary"
android:title="@string/preferences_null_token_title"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/preferences_title_appearance">
<SwitchPreference
android:dialogTitle="@string/preferences_theme_title"
android:key="Prefs.Appearance.Theme"
android:summaryOff="@string/preferences_theme_summary_off"
android:summaryOn="@string/preferences_theme_summary_on"
android:switchTextOff="@string/general_no"
android:switchTextOn="@string/general_yes"
android:title="@string/preferences_theme_title"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/preferences_title_misc">
<SwitchPreference
android:dialogTitle="@string/preferences_read_back_title"
android:key="Prefs.Voice.Feedback"
android:switchTextOff="@string/general_no"
android:switchTextOn="@string/general_yes"
android:title="@string/preferences_read_back_title"/>
<Preference
android:key="Prefs.Export.Barcode.Properties"
android:title="@string/preferences_export_title"
android:summary="@string/preferences_export_summary"/>
<Preference
android:key="Prefs.Show.Eula"
android:title="@string/preferences_eula_title"
android:summary="@string/preferences_eula_summary"/>
</PreferenceCategory>
</PreferenceScreen>
我延长PreferenceFragment
,并通过
不要手边任何API> 20设备,你有没有尝试寻找它与您的设备监视器 - >转储视图层次结构? –
@DavidMedenjak这样做给了我布局的层次结构。现在我该怎么做?正如我所说的,我不想重复布局结构的正常布局,但我宁愿让现有的'PreferenceFragment'看起来一样。 – Baz