代码之家  ›  专栏  ›  技术社区  ›  stealthcopter

嵌套的首选项屏幕将丢失主题

  •  8
  • stealthcopter  · 技术社区  · 15 年前

    我对我的应用程序有一个首选项屏幕,在清单中,我给它一个主题,使用:

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

    但是,当我将另一个首选项屏幕嵌套在此屏幕中时,例如:

    <?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"
        android:defaultValue="0"
        android:entryValues="@array/bg_values" />
        </PreferenceScreen>
    
        </PreferenceCategory>
    
    </PreferenceScreen>
    

    嵌套的首选项屏幕将丢失父级的主题。如何预防这种情况?事先谢谢。

    2 回复  |  直到 15 年前
        1
  •  6
  •   stealthcopter    15 年前

    这是Android中的一个bug,请参阅 Bug Report .

        2
  •  2
  •   Bonnarooster    15 年前

    刚刚碰到这个问题。

    虽然bug报告中的建议是创建自己的自定义样式并设置ListView背景,但我们发现为每个首选项屏幕创建单独的活动更容易。这让我们可以设置主题。每个屏幕的灯光都没有问题。

    不是很好的解决方法,但它是有效的。