2016-12-06 1 views
0

Ich folgte , um eine SplashActivity zu erstellen, die beim Laden der MainActivity ein kleines Symbol zeigte. Alles funktionierte gut und ich konnte das Icon erfolgreich implementieren. Jetzt versuche ich das Symbol für die SplashActivity zu ändern, aber das Problem ist, dass das Symbol in der Anwendung auf meinem Gerät nicht aktualisiert wird. Alles andere, was ich im Code ändere, wird erfolgreich aktualisiert.Splash Theme ändert sich nicht mehr

window_background.xml:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" 
android:opacity="opaque"> 

<item android:drawable="@color/white"/> 
<item> 
    <bitmap 
     android:src="@drawable/logo" 
     android:gravity="center"/> 
</item> 
</layer-list> 

styles.xml:

<resources> 

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 

<style name="AppTheme.LauncherTheme"> 
    <item name="android:windowBackground">@drawable/window_background</item> 
</style> 

AndroidManifest.xml:

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".SplashActivity" 
     android:theme="@style/AppTheme.LauncherTheme" 
     android:screenOrientation="sensorPortrait"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
... 
</application> 

ich fast alles versucht, um den Code zu aktualisieren (Clea n Projekt, Projekt neu erstellen, Caches invalidieren, Android Studio neu starten, App auf Gerät löschen usw.), aber nur das Thema funktioniert auf dem Gerät nicht richtig, alles andere funktioniert.

Hat jemand eine Lösung, wie man das korrekte Thema anzeigt?

EDIT: Auch wenn ich entfernen Sie das Thema aus dem Mainfest-Datei das Thema ist immer noch da ..

EDIT 2: Ich fand heraus, dass das aktuell angezeigte Symbol der Standard ic_launcher Symbol ist die ist in der Mitte zentriert. Daher wird die window_background.xml vollständig vom Thema ignoriert und ich weiß immer noch nicht warum. Ich habe auch versucht, verschiedene Themen als Eltern für das AppTheme.LauncherTheme zu setzen, aber es ändert nichts. Wenn ich das AppTheme.LauncherTheme entferne, ist die SplashActivity leer und das ic_launcher-Icon wird entfernt.

+0

AppTheme.LauncherTheme hat eine Zeichnungsdatei namens window_background.xml. Ist das der Richtige? – DroidBender

+0

natürlich ist das meine Schuld, ich werde die Frage aktualisieren! – RyuZz

Antwort

0

AppTheme.LauncherTheme sollte eines der Theme.AppCompat Themen zu erweitern. Ich schlage eine solche Lösung vor:

<style name="AppTheme.LauncherTheme" parent="AppTheme"> 
+0

Ich habe versucht, ein Elternteil hinzuzufügen, aber leider löst es das Problem nicht. – RyuZz