2016-11-26 2 views
5

Basierend auf this tutorial und this answer, die auch this other tutorial verweist, ein Thema, das mit android:windowBackground zusammen mit einem <layer-list/> ein Logo auf dem Bildschirm die bewährte Methode zur Erstellung eines Android Splash ScreenKann ein Fensterhintergrund unterhalb der Statusleiste und über der Navigationsleiste positioniert werden?

Mit dieser Technik zu sein scheint, ist Zentrierung leicht; Ich möchte jedoch Grafiken am oberen oder unteren Bildschirmrand positionieren. Ich habe Probleme, weil, wie in der folgenden Abbildung zu sehen, die windowBackground hinter der Statusleiste am oberen Rand des Bildschirms und der Navigationsleiste am unteren Rand gezeichnet wird, so dass die Grafiken als abgeschnitten



Frage:Ist es möglich, die windowBackground anweisen, sich Bar unter dem Stand zu positionieren und über der Navigationsleiste? Falls nicht, können Sie mithilfe der Splash-Screen-Technik windowBackground einen Begrüßungsbildschirm erstellen, der nicht von der Statusleiste oder der Navigationsleiste abgedeckt wird.

das Problem zu reproduzieren, erstellen Sie ein neues Projekt Android Studio, die Sie die ic_launcher ziehbar und folgen Sie einem der verknüpften Tutorials oben, aber verwenden Sie die folgende layer-list ziehbar

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" 
    android:opacity="opaque"> 
    <item android:drawable="#000000"/> 
    <item> 
     <bitmap 
      android:gravity="left|top" 
      android:src="@drawable/ic_launcher"/> 
    </item> 
    <item> 
     <bitmap 
      android:gravity="center" 
      android:src="@drawable/ic_launcher"/> 
    </item> 
    <item> 
     <bitmap 
      android:gravity="bottom" 
      android:src="@drawable/ic_launcher"/> 
    </item> 
</layer-list> 

Antwort

6

Sie setzen können windowDrawsSystemBarBackgrounds-false bekommen in Ihrem Thema für Lollipop und höhere Versionen.

Beispiel: res/Werte-v21/styles.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources xmlns:android="http://schemas.android.com/apk/res/android"> 
    <style name="Theme.Splash"> 
     <item name="android:windowBackground">@drawable/splash</item> 
     <item name="android:windowDrawsSystemBarBackgrounds">false</item> 
    </style> 
</resources> 
+0

, die genau nach Bedarf gearbeitet, danke. – konata

Verwandte Themen