phonegap - pantalla de bienvenida para la aplicación Android

84

¿Alguien podría decirme cómo puedo agregar una pantalla de bienvenida a mi aplicación de Android basada en HTML5 Phonegap? Solo quiero que se muestre durante 5 segundos en carga. Además, ¿alguien puede aconsejar qué dimensiones debe tener la pantalla de bienvenida?

Bailarín
fuente
2
Solo un consejo amistoso, bajo ninguna circunstancia es una buena idea poner una pantalla de presentación en una aplicación móvil. Va a enfadar mucho a sus usuarios.
Kurtis Nusbaum
37
Lo siento Kurtis, no estoy seguro de qué estás defendiendo. Hay muchas aplicaciones móviles muy populares que muestran una pantalla de bienvenida mientras se cargan sin causar molestias a sus usuarios. iOS incluso tiene una imagen llamada Default.png específicamente para este propósito.
Devgeeks
6
@Devgeeks Estoy de acuerdo con Kurtis Nusbaum para el caso en el que muestra una pantalla de bienvenida por el gusto de hacerlo. Si su aplicación tarda mucho en iniciarse, una pantalla de presentación con un indicador de actividad probablemente sea mejor que nada, lo que probablemente sería la razón de las aplicaciones populares de las que habla. De lo contrario, hay una cantidad igual (o incluso mayor) de aplicaciones móviles populares que no muestran la pantalla de bienvenida. Básicamente, lleve al usuario a la aplicación lo más rápido posible. Una pantalla de bienvenida de 5 segundos cada vez es una mala idea, ya que frustrará a los usuarios a largo plazo.
Kinjal Dixit
1
Por favor ... ¡no lo hagas! La pantalla de bienvenida no es una buena idea :) Es cierto, que algunas aplicaciones populares la tienen, pero no significa que sea una buena idea;)
Štěpán Víteček
1
Creo que las pantallas de bienvenida son una cuestión de gusto / diseño. Por supuesto, la mayoría de la gente de UX aconsejará no usarlo, pero no estoy de acuerdo con ellos; una pantalla de bienvenida de 1 segundo no hará ningún daño, en cambio, agregará una "personalidad" y establecerá un "tema" a su aplicación, destacándose entre las miles de aplicaciones "bootstrapish". En mi dispositivo, más del 70% de las aplicaciones de uso diario tienen pantallas de presentación :)
numediaweb

Respuestas:

176

Con el fin de tener una pantalla de bienvenida en una aplicación PhoneGap Android que necesita para poner su splash.pngarchivo en res/drawable-ldpi, res/drawable-mdpi, res/drawable-hdpi, res/drawable-xhdpi. Donde esos directorios representan puntos por pulgada bajos, medianos, altos y extra grandes. Deberá cambiar el tamaño de su splash.png (el nombre del archivo es importante aquí) para cada directorio o Android lo ampliará por usted.

Los tamaños de cada imagen deben ser:

  • xlarge (xhdpi): al menos 960 x 720
  • grande (hdpi): al menos 640 x 480
  • medio (mdpi): al menos 470 x 320
  • pequeño (ldpi): al menos 426 x 320

Luego, en su clase principal de Java, la que extiende DroidGap, deberá agregar una línea y modificar otra. Primero agregue:

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

esta línea debería aparecer debajo super.onCreatepero antes super.loadUrl. Luego, deberá modificar su método loadUrl para hacer una pausa de 5 segundos antes de cargar la página principal. Se vería así:

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

Eso debería hacerlo por ti.

Recientemente hice algunas actualizaciones sobre cómo funciona SplashScreen en PhoneGap Android. La aplicación principal ahora se carga mientras se muestra la pantalla de bienvenida. Esta es una gran mejora con respecto a la llamada de pantalla de inicio de bloqueo anterior. Lea más sobre los cambios en mi blog .

Simon MacDonald
fuente
1
Hola, SImon, acabo de recibir un error que indica que la aplicación se ha detenido inesperadamente al implementar lo anterior.
Bailarín
2
Parece haber un problema al usar el parámetro de tiempo de espera en PhoneGap 1.2. Véase también stackoverflow.com/questions/8100219/…
Paul Beusterien
1
Si elimino el tiempo de espera de 5 segundos, la aplicación se compila y se muestra brevemente en la carga, por lo que parece que una combinación de lo anterior con una solución de tiempo de espera funcionaría de maravilla. Saludos por tu ayuda
Dancer
6
Exigir al usuario que espere 5 segundos es un consejo terrible.
grahamparks
1
@BallisticPugh Quieres usar una imagen de 9 parches para poder controlar lo que se estira.
Simon MacDonald
3

En mi aplicación Phonegap, versión de Android, el depurador de Eclipse hace berrinches si configura la pantalla de inicio o incluso el cuadro de diálogo 'carga' antes de llamar a loadUrl.

Ambos funcionarán en la aplicación real instalada en un dispositivo, pero interrumpirán la depuración. Así que los puse detrás de loadUrl, donde no pueden hacer daño y aún se muestran mucho antes que la aplicación.

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);
    ...
}...
Wytze
fuente
3

También me he enfrentado a este problema en phonegap android ... pero ahora tengo una solución.

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.

Edite su archivo java principal en la carpeta src en el directorio de su proyecto.

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);
     }
}

fuente
1
Esto normalmente se puede encontrar:platforms/android/src/com/[your app name]/[Your App Name.java
Ian Jamieson
No encontré ningún archivo .java en la ruta mencionada anteriormente
Prak
0

Probablemente esto cubra sus necesidades. Le permite personalizar y agregar todas las configuraciones, imágenes y pantallas de bienvenida de config.xml relevantes en una interfaz agradable e intuitiva.

Recomiendo descargar el archivo e instalarlo manualmente. El instalador de aire basado en web no parece funcionar.

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

Phill Healey
fuente
0

Usando Cordova> = 3.6 y compilando su aplicación con la interfaz de línea de comandos de Cordova, es posible configurar la pantalla de config.xmlpresentación desde el archivo. Este es un ejemplo para 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" />

También hay un complemento dedicado para mostrar / ocultar la pantalla de bienvenida mediante programación.

Consulte la documentación de Cordova para obtener más información.

lifeisfoo
fuente