我的应用程序中有一个首选项 Activity ,我尝试使用以下主题设置首选项样式:

<?xml version="1.0" encoding="utf-8"?>
<resources>

<style name="MyPreferenceTheme" parent="android:Theme.Translucent">
    <item name="android:preferenceStyle">@style/MyPreference</item>
    <item name="android:windowBackground">@color/transparent_black</item>
</style>

<style name="MyPreference" parent="@android:style/Preference">
    <item name="android:layout">@layout/preference</item>
</style>

<color name="transparent_black">#BB000000</color>

所以我知道主题正在加载,因为背景颜色正确。但是,我的自定义首选项布局 (res/layout/preference.xml) 并未应用于我的首选项 Activity 中的任何首选项。

这是实现偏好主题的正确方法吗?或者我错过了什么?
提前致谢 :)

最佳答案

我发现最好不要使用 parent="android:style/Preference"因为它似乎没有应用我试图覆盖它的样式。为您正在使用的布局设置样式 (@layout/preference) 并从 android:style/Preference 中删除继承。当我不得不做同样的事情时,它对我有用。

所以应该是:

<style name="MyPreference">
    <item name="android:layout">@layout/preference</item>
</style>

祝你好运!

关于android - 使用主题覆盖偏好 Activity/偏好屏幕中用于偏好的布局,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5136668/

10-10 07:58