2013-01-22 11 views
12

Desidero eliminare il colore bianco durante il breve periodo in cui la mia app è in fase di avvio ma il contenuto non è ancora visualizzato.Sfondo bianco durante l'avvio dell'app

L'attività principale è l'utilizzo di uno stile (dal manifesto) che estende @style/Theme.Sherlock.Light.DarkActionBar con lo sfondo impostato su <item name="android:background">@android:color/transparent</item>. In nessun punto del mio layout utilizzo un colore di sfondo bianco, tuttavia appare per un breve momento durante l'avvio dell'app.

In HierarchyViewer ho esportato i livelli e controllato che nella gerarchia del layout non è presente alcun solido bianco.

Quale impostazione controlla il colore di sfondo prima che venga disegnato il layout? Grazie.

risposta

33

C'è un altro attributo background nel tema - windowBackground, e implicitamente impostarlo su bianco ereditando il vostro stile da @style/Theme.Sherlock.Light.DarkActionBar (notare la parte .Light. nel nome).

È possibile utilizzare la versione scura del tema o impostarla in modo esplicito includendo windowBackground nella tua definizione di stile:

<item name="android:windowBackground">@color/your_color</item> 
+0

Esattamente quello che stavo cercando. –

0
<style name="Theme.Transparent" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowActionBar">false</item> 
    <item name="android:windowFullscreen">true</item> 
    <item name="android:windowContentOverlay">@null</item> 
    <item name="android:windowIsTranslucent">true</item> 
</style>