2013-02-12 21 views
6

Uygulamamda iki tema var. Ben ayarladığınızda arka plan beyaz bir daima hariçwindowBackground teması ile değişmiyor

<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> 

Her şey iyi çalışır:

<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> 

ben de beyaz bir arka plana sahip bir beyaz temaya sahip: Ben mavi bir arka plan ile mavi temaya sahip koddaki mavi tema.

Benim uygulama tema benim manifest'te beyaz tema olarak ayarlanır

: Sonra onCreate benim ActivityBase sınıfta mavi tema kurmak

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

:

@Override 
protected void onCreate(Bundle savedInstanceState) { 

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

cevap

10

Daha önce setTheme zorunda super.onCreate() ve setContentView() öğesini çağırırsınız.