开发者

Nested preference screens lose theming

开发者 https://www.devze.com 2022-12-28 17:37 出处:网络
I have a preference screen for my application and in the manifest I have given it a theme using: android:theme=\"@android:style/Theme.Light.WallpaperSettings\"

I have a preference screen for my application and in the manifest I have given it a theme using:

android:theme="@android:style/Theme.Light.WallpaperSettings"

However when I nest another preference screen inside this one such as:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
    android:title="@string/setting_title"
    android:key="...">

    <PreferenceCategory
    android:title="@string/title_themes"
    >

    <PreferenceScreen
    android:title="@string/title_themes_opt"
    >

        <ListPreference
    android:key="Setting_BG"
    android:title="@string/setting_bg"
    android:summary="@string/setting_bg_summary"
    android:entries="@array/bg_titles"
    an开发者_如何学JAVAdroid:defaultValue="0"
    android:entryValues="@array/bg_values" />
    </PreferenceScreen>

    </PreferenceCategory>

</PreferenceScreen>

The nested preference screen loses the theme of the parent. How can this be prevented? Thanks in advance.


This is a bug in android see the Bug Report.


Just ran into this problem.

While the suggestion in the bug report is to create your own custom style and set the listview background, we found it easier to create a separate activity for each preference screen. This allowed us to set the Theme.Light to each screen with no issue.

Not a great fix, but it works.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号