Programación Android - Como Crear Un Splash Screen
En el presente artículo les dejo fuente de ejemplo de un Activity para SplashScreen el cual se muestra durante 1500 milisegundos y pasado ese tiempo llama a una supuesta Activity NextActivity (o bien tu siguiente Activity). Este tiempo puede ser interrumpido tocando en la pantalla.
A continuación el código fuente de la clase SplashActivity:
package com.davidg.samples; import android.app.*; import android.content.*; import android.os.*; import android.view.*; public class SplashActivity extends Activity { protected boolean _active = true; protected int _splashTime = 1500; // Tiempo máximo de duración de splash (espera normal) en milisegundos. protected int _controlTime = 100; // Tiempo de control de toque de pantalla en milisegundos. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.splash_activity); Thread splashTread = new Thread() { @Override public void run() { try { int waited = 0; while(_active && (waited < _splashTime)) { sleep( _controlTime ); if(_active) { waited += _controlTime; } } } catch(InterruptedException e) { // Capturamos la excepción de interrupción y continuamos por finally. } finally { startActivity( new Intent(SplashActivity.this, NextActivity.class) ); finish(); } } }; splashTread.start(); } /* Detectamos si el usuario toca la pantalla e Interrumpimos la espera normal */ @Override public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { _active = false; } return true; } }Escrito por: Leonardo David Gonzalez
No hay comentarios: