2017-09-05 1 views
0

Ich habe ein Thema, das funktioniert, aber weigert sich, android: windowBackgorund und android: colorBackground. Der Rest des Codes funktioniert ordnungsgemäß, und wenn ich die Elemente im Standardthema umschalte funktioniert es richtig.Android dunkles Thema nicht windowBackground

styles.xml:

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="android:navigationBarColor">@color/colorPrimary</item> 
    <item name="android:radioButtonStyle">@style/radioLight</item> 
</style> 

<style name="Dark" parent="ThemeOverlay.AppCompat.Dark.ActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="android:navigationBarColor">@color/colorPrimary</item> 
    <item name="android:windowBackground">@color/grey</item> 
    <item name="android:colorBackground">@color/grey</item> 
    <item name="android:textColor">@color/white</item> 
    <item name="android:textColorHint">@color/soft_grey</item> 
    <item name="android:radioButtonStyle">@style/radioDark</item> 
</style> 

Main:

setTheme(R.style.Dark); 

Sie wissen nicht, wenn es nutzlos ist activity_main xml:

<android.support.design.widget.AppBarLayout 
    android:id="@+id/appbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:paddingTop="@dimen/appbar_padding_top" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     android:scrollbars="none" 
     app:popupTheme="@style/AppTheme.PopupOverlay"> 

    </android.support.v7.widget.Toolbar> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/tabs" 
     android:layout_width="match_parent" 
     android:layout_height="35dp" /> 

</android.support.design.widget.AppBarLayout> 

Was ist der schändliche Fehler, den ich begangen?

Antwort

1

android:windowBackground akzeptiert nur ein Zeichen. Versuchen Sie, es zu so etwas wie

<item name="android:windowBackground">@drawable/abc</item> 

und erstellen Sie eine Datei abc.xml wie

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> 
    <solid android:color="@color/grey"/> 
</shape> 

Und just checking, rufen Sie setTheme vor super.onCreate() Aufruf?

+0

Das Problem war, dass ich das Set-Thema vor der super.onCreate() -Funktion und der @Drawable aufrufen. Vielen Dank, Mutter! – Racerider

Verwandte Themen