android – windowBackground不会随主题而改变

前端之家收集整理的这篇文章主要介绍了android – windowBackground不会随主题而改变前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的申请中有两个主题.我有一个蓝色背景的蓝色主题
<style name="Theme.BlueTheme" parent="Theme.Sherlock">
    <item name="android:panelBackground">@drawable/menu_hardkey_panel_actionbar</item>
    <item name="android:buttonStyle">@style/ButtonAppTheme</item>
    <item name="android:windowBackground">@drawable/bground_blue</item>
    <item name="android:spinnerItemStyle">@style/SpinnerItem</item>
    <item name="android:editTextStyle">@style/Widget.EditText.White</item>
   <item name="android:spinnerItemStyle">@style/SpinnerItem</item>
    <item name="android:textViewStyle">@style/whitestyle</item>

 </style>

我还有一个白色背景的白色主题

<style name="Theme.AppTheme" parent="Theme.Sherlock.Light.DarkActionBar">
    <item name="android:panelBackground">@drawable/menu_hardkey_panel_actionbar</item>
    <item name="android:buttonStyle">@style/ButtonAppTheme</item>
    <item name="android:windowBackground">@drawable/bground_white</item>
    <item name="android:spinnerItemStyle">@style/SpinnerItem</item>
    <item name="android:editTextStyle">@style/Widget.EditText.Black</item>
</style>

一切正常,但是当我在代码中设置蓝色主题时,背景总是白色的.

我的应用主题设置为我的清单中的白色主题

<application
    android:allowBackup="true"
    android:icon="@drawable/launcher_icon"
    android:label="@string/app_name"
    android:theme="@style/Theme.AppTheme" >

然后我在onCreate的ActivityBase类中设置了蓝色主题

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.setDisplayHomeAsUpEnabled(true);
    }
    setTheme(R.style.Theme_BlueTheme);
}

解决方法

调用super.onCreate()和setContentView()之前,必须先设置主题.
原文链接:https://www.f2er.com/android/309218.html

猜你在找的Android相关文章