2011-09-20 27 views
11

È possibile aggiungere schermate di avvio animate per app Android e iOS PhoneGap? Ho provato ad aggiungere file .gif animati come file dello splash screen per Android ma non funziona. Cioè non c'è animazione, l'unica cosa che posso vedere è il primo frame del .gif.Schermata iniziale animata con Phoneegap

E c'è anche un modo per aggiungere testo dinamico da qualche parte sullo splash screen? In realtà questo è quello che voglio. E usare .gif è solo la mia ipotesi su come posso farlo nel modo più semplice. Quindi, se puoi darmi un esempio di codifica funzionante per gli splash screen dinamici iOS e Android con PhoneGap, sarà ancora meglio.

risposta

5

le animazioni gif non sono supportate su Android. Le animazioni sono possibili usando jQuery. Questo è ciò che si può fare

  1. Creare un ruolo-data = div "pagina", che contiene la schermata di avvio vista
  2. registrare un listener di eventi per l'evento "pageshow" per questa pagina e iniziare l'animazione utilizzando jQuery
  3. Nello stesso EventListener chiamata di funzione di timeout di javascript

setTimeout('functionToLoadNewPage', 2000); //functionToLoadNewPage - function name which will load a new page using $.mobile.changePage and 2000 - number of milliseconds for splash screen to be visible

+3

Ma questa pagina verrà visualizzata solo quando WebView è stato caricato. Voglio dire, ho bisogno di una vera schermata iniziale che viene mostrata solo durante il caricamento di WebView. Posso configurare questo splash con super.setIntegerProperty ("splashscreen", ...) (per Android), ma non posso renderlo animato in questo modo. – SergeyT

3

sono stato cercando, e penso che dovresti creare un'interfaccia javascript-android e fare qualcosa come Cordova.

Questo è il codice Cordova:

public class SplashScreen extends Plugin { 

    @Override 
    public PluginResult execute(String action, JSONArray args, String callbackId) { 
     PluginResult.Status status = PluginResult.Status.OK; 
     String result = ""; 

     if (action.equals("hide")) { 
      this.webView.postMessage("splashscreen", "hide"); 
     } else if (action.equals("show")){ 
      this.webView.postMessage("splashscreen", "show"); 
     } 
     else { 
      status = PluginResult.Status.INVALID_ACTION; 
     } 
     return new PluginResult(status, result); 
    } 

Ed è invocato throught javascript come questo:

exec(null, null, "SplashScreen", "show", []); 

Inoltre è necessario che lo faccia per iOS troppo, vedi questo link: ios fade out splash screen (iphone 5 friendly)

+0

Come aiuta ad aggiungere un testo o un'animazione alla schermata iniziale? –

Problemi correlati