2010-02-18 16 views
6

tengo un programa que muestra una pantalla de bienvenida.Pero el problema es que cada vez que actualizo la misma página, aparece de nuevo.Hay algún método para detener la pantalla de bienvenida una y otra vez.Quiero que llegue por primera vez no una y otra vez. Graciaspantalla de presentación de Android

Respuesta

3

Así que, básicamente, desea que la pantalla de bienvenida aparezca una vez por cada inicio de la aplicación. Aquí está una manera rápida y sucia:

  1. Subclase android.app.Application como, por ejemplo, MyApp;
  2. Declare esa clase en AndroidManifest.xml (<application android:name=".MyApp" ... >) para que se instanciara en el momento del inicio de la aplicación;
  3. darle un public static boolean SPLASH_SHOWN = false;
  4. Ahora, en onCreate() un chequeo de Activity 's si SPLASH_SHOWN = false, espectáculo de bienvenida y la pusieron a true.
+2

si (SPLASH_SHOWN == false) { \t splash = (ImageView) findViewById (R.id.splashscreen); \t splash.setBackgroundResource (R.drawable.splash); \t Message msg = new Message(); \t msg.what = STOPSPLASH; \t splashHandler.sendMessageDelayed (msg, SPLASHTIME); \t splash.setVisibility (View.VISIBLE); \t SPLASH_SHOWN = verdadero; } – BIBEKRBARAL

0

Si implementa la pantalla de bienvenida en la misma actividad con otro diseño de vista (el diseño principal) - por ejemplo, primero despliega la pantalla de inicio y luego mueve la vista al diseño principal - Sugiero controlar la vista de contenido configuración en onResume(). Utilice una variable booleana (displayedSplash) para recordar si se ha visualizado la pantalla de presentación. Si no se ha visualizado (inicie la actividad la primera vez, displaySplash == false), configure la vista en la pantalla de inicio, luego cambie a la distribución principal y configure displayedSplash = true. Si se ha mostrado (actualice la página, shownSplash == verdadero), simplemente configure la vista para el diseño principal.

Otra solución simple y segura para la pantalla de bienvenida simple es implementarlo como una actividad, luego iniciar la actividad principal. Cuando se llama al onResume() por segunda vez, solo termine la actividad. Por favor refiérase a this Wiki para el detalle.

0

La mayoría de las veces llamo al método finish() dentro del método onPause() en la actividad splash. Esto funciona muy bien para mí

Cuestiones relacionadas