2011-09-20 20 views
11

Czy można dodawać animowane ekrany powitalne dla aplikacji Android i iOS Phonegap? Próbowałem dodać animowany plik .gif jako plik ekranu startowego dla Androida, ale nie działa. To znaczy. nie ma animacji, jedyne co widzę to pierwsza klatka .gif.Animowany ekran powitalny z Phonegapem

A także czy istnieje sposób, aby dodać tekst dynamiczny gdzieś na ekranie powitalnym? Właściwie to właśnie tego chcę. I używać .gif jest tylko moim założeniem, jak mogę to zrobić w najprostszy sposób. Tak więc, jeśli możesz podać przykład działającego dorsza na dynamiczne ekrany powitalne iOS i Android z Phonegap, będzie jeszcze lepiej.

Odpowiedz

5

Animacje gif nie są obsługiwane w systemie Android. Animacje są możliwe przy użyciu jQuery. To jest to, co można zrobić

  1. Tworzenie data-role = „strona” div, który zawiera ekran powitalny widok
  2. zarejestrować detektora zdarzeń dla „pageshow” wydarzenie dla tej strony i rozpocząć animację za pomocą jQuery
  3. W tym samym EventListener wywołać funkcję limitu czasu javascript w

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

Ale ta strona będzie wyświetlana tylko po załadowaniu WebView. Chodzi mi o to, że potrzebuję prawdziwego ekranu powitalnego, który wyświetla się tylko podczas ładowania WebView. Mogę ustawić ten splash przez super.setIntegerProperty ("splashscreen", ...) (dla Androida), ale nie mogę tego animować w ten sposób. – SergeyT

3

byłem przeszukując i myślę, że powinieneś stworzyć interfejs javascript-android i zrobić coś takiego jak Cordova.

Jest to kod 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); 
    } 

I to jest wywoływana bezpo¶rednio javascript tak:

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

Również trzeba będzie to zrobić dla iOS też zobaczyć ten link: ios fade out splash screen (iphone 5 friendly)

+0

Jak pomaga dodać tekst lub animację do ekranu powitalnego? –

Powiązane problemy