web-dev-qa-db-fra.com

phonegap - écran de démarrage pour application Android

Quelqu'un peut-il me dire comment ajouter un écran de démarrage à mon application Android Phonegap HTML5 Je veux juste qu'il s'affiche pendant 5 secondes en charge. En outre, quelqu'un peut-il indiquer les dimensions de l'écran de démarrage?.

83
Dancer

Afin d’avoir un écran de démarrage dans une application PhoneGap Android, vous devez placer votre fichier splash.png dans res/drawable-ldpi, res/drawable-mdpi, res/drawable-hdpi, res/drawable-xhdpi. Ces répertoires représentent des points par pouce faibles, moyens, élevés et très grands. Vous devrez redimensionner splash.png (le nom du fichier est important ici) pour chaque répertoire, sinon Android l'étirera à votre place.

Les tailles de chaque image doivent être: 

  • xlarge (xhdpi): au moins 960 x 720
  • grand (hdpi): au moins 640 x 480
  • support (mdpi): au moins 470 x 320
  • petit (ldpi): au moins 426 x 320

Ensuite, dans votre classe Java principale, celle qui étend DroidGap, vous devrez ajouter une ligne et en modifier une autre. D'abord ajouter:

super.setIntegerProperty("splashscreen", R.drawable.splash);

cette ligne devrait apparaître sous super.onCreate mais avant super.loadUrl. Ensuite, vous devrez modifier votre méthode loadUrl pour faire une pause de 5 secondes avant de charger la page principale. Cela ressemblerait à ceci:

super.loadUrl("file:///Android_asset/www/index.html", 5000);

Cela devrait le faire pour vous.

J'ai récemment apporté des modifications au fonctionnement de SplashScreen sur PhoneGap Android. L'application principale est maintenant chargée pendant l'affichage de l'écran de démarrage. Il s'agit d'une grande amélioration par rapport au précédent appel de l'écran de démarrage bloquant. En savoir plus sur les changements sur mon blog .

176
Simon MacDonald

La documentation de Phonegap (Apache Cordova) contient suffisamment de détails sur l'écran de démarrage et différentes résolutions pour Android et iOS au même endroit.

http://docs.phonegap.com/fr/2.2.0/cordova_splashscreen_splashscreen.md.html

6
Rajiv

Dans mon application Phonegap, version Android, le débogueur Eclipse émet des crises si vous définissez l'écran de démarrage ou même la boîte de dialogue "Chargement" avant d'appeler loadUrl.

Les deux fonctionneront dans l'application réelle installée sur un appareil, mais ils interrompront le débogage. Je les ai donc placés derrière loadUrl, où ils ne peuvent pas faire de mal et continuent de montrer bien avant l'application elle-même.

public class App extends DroidGap {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    super.loadUrl("file:///Android_asset/www/index.html",5000);
    super.setStringProperty("loadingDialog", "Starting your app...");
    super.setIntegerProperty("splashscreen", R.drawable.splash);
    ...
}...
3
Wytze

J'ai également faire face à ce problème dans phonegap Android ..mais maintenant, j'ai la solution.

super.setIntegerProperty("splashscreen", R.drawable.splash);(find image under drawable folder named splash,so put splash.png under drawable folder)
super.loadUrl("file:///Android_asset/www/index.html",15000);(splash screen will show 15 sec.

Veuillez éditer votre fichier Java principal dans le dossier src de votre répertoire de projet.

public class radiobiafra extends DroidGap
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
         super.onCreate(savedInstanceState);

         super.setIntegerProperty("splashscreen", R.drawable.splash);
         super.loadUrl("file:///Android_asset/www/index.html",15000);
     }
}
3
user859952

Cela répondra probablement à vos besoins. Il vous permet de personnaliser et d’ajouter tous les paramètres, images et écrans de démarrage config.xml pertinents dans une interface intuitive de Nice.

Je recommande de télécharger le fichier et de l'installer manuellement. L'installateur d'air basé sur le Web ne semble pas fonctionner.

http://aj-software.com/configap/index.html

0
Phill Healey

En utilisant Cordova> = 3.6 et en construisant votre application avec l'interface de ligne de commande Cordova, vous pouvez configurer l'écran de démarrage à partir du fichier config.xml. Ceci est un exemple pour Android:

<platform name="Android">
    <!-- you can use any density that exists in the Android project -->
    <splash src="res/screen/Android/splash-land-hdpi.png" density="land-hdpi"/>
    <splash src="res/screen/Android/splash-land-ldpi.png" density="land-ldpi"/>
    <splash src="res/screen/Android/splash-land-mdpi.png" density="land-mdpi"/>
    <splash src="res/screen/Android/splash-land-xhdpi.png" density="land-xhdpi"/>

    <splash src="res/screen/Android/splash-port-hdpi.png" density="port-hdpi"/>
    <splash src="res/screen/Android/splash-port-ldpi.png" density="port-ldpi"/>
    <splash src="res/screen/Android/splash-port-mdpi.png" density="port-mdpi"/>
    <splash src="res/screen/Android/splash-port-xhdpi.png" density="port-xhdpi"/>
</platform>
<preference name="SplashScreenDelay" value="10000" />

Il existe également un plugin dédié pour afficher/masquer l'écran de démarrage par programmation. 

Voir la documentation Cordova pour plus d'informations.

0
lifeisfoo