2012-01-11 9 views
6

Come evitare la schermata nera in Android mentre la mia app si sta caricando? Ho rimosso tutte le cose da onCreate a AsyncTask ma ho ancora una schermata nera all'inizio. La mia attività predefinita (prima) è Main e se c'è un parametro carico momentaneamente un'attività personale senza mostrare Main, altrimenti mostro l'attività Main. Qualcuno mi può suggerire una soluzione? Ho provato con http://blog.iangclifton.com/2011/01/01/android-splash-screens-done-right/ ma non aiuta.Come evitare la schermata nera in Android mentre la mia app si sta caricando?

+0

postale po 'di codice - che potrebbe aiutare o stiamo semplicemente indovinando ... –

risposta

19

non sono sicuro.

ma, Prova questo nel Manifesto .. all'interno della vostra attività

android: theme = "Android @: stile/Theme.Translucent"

O

android: theme = "@ Android: stile/Theme.Light"

ho visto una buona soluzione sulla schermata iniziale ... spero che utile

https://stackoverflow.com/a/8654361/762919

+1

Stavo lottando per così tanto tempo. Questo ha risolto il mio problema. L'aggiunta della linea in Manifest ha fatto il trucco. Grazie ad aprile. –

+0

grazie, questo mi dà un'idea per creare un tema personalizzato come il flash e ha risolto il mio problema. Per quelli che cercano la stessa risposta, è così che lo faccio. Ha funzionato per me spero che sia di aiuto anche a voi ragazzi. In stile XML true ​​@ drawable/splash_image file di manifesto nel tag attività android: theme = "@ style/MySplashTheme" –

+0

Il primo ha funzionato alla grande per me, grazie :) – Stranger

2

Ottimizza il codice ur, prova a ridurre il codice da onCreate(), questo problema è stato risolto da me l'ho risolto riducendo il codice in onCreate().

Buona fortuna

0

Dal momento che avete eliminato il vostro onCreate() e assegnato le attività di inizializzazione di un thread di lavoro, il fatto che lo schermo rimane comunque scuro per un po 'dopo la vostra applicazione viene avviata è probabilmente dovuto al la complessità della grafica nella schermata iniziale (piuttosto che nel codice di inizializzazione, che è probabilmente correlato al modello, piuttosto che alla vista).

La soluzione che hai detto ha funzionato per te è utilizzare uno sfondo visibile come tema. Sono contento che tu abbia trovato che questo sia adeguato, ma per alcuni scopi uno splash screen più specifico (ad esempio, logo/nome app) (che viene visualizzato rapidamente perché utilizza una grafica molto più semplice) sarebbe più desiderabile.

Si prega di consultare la risposta link sottostante per una descrizione dettagliata (con codice di esempio) di come una schermata iniziale che consente di visualizzare in modo rapido può essere implementata:

Create a true splash screen

Questo discute anche l'approccio che avete accettato sopra .

8

Aggiungi sotto il file android style.xml nel tag style.

completo del codice:

<style name="AppBaseTheme" parent="android:Theme.Light.NoTitleBar"> 
    <!-- 
     Theme customizations available in newer API levels can go in 
     res/values-vXX/styles.xml, while customizations related to 
     backward-compatibility can go here. 
    --> 
    <item name="android:windowDisablePreview">true</item> 
</style> 
+0

Funziona perfettamente per me ... ..... :) – RajeshVijayakumar

+0

Esattamente quello che sto cercando ... grazie! –

+0

La mia app ha finito con questo –

Problemi correlati