Pantalla de inicio Android

La mayoría de las aplicaciones en Android, al abrirlas, tienen una simple pantalla donde muestran el logo de la compañía desarrolladora, el nombre de la app y quizás algún sonido corto. No hacen nada más que eso y duran algunos instantes. Aquí les muestro como implementar su propia splash creen.

 

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash);

    // thread for displaying the SplashScreen
    Thread splashTread = new Thread() {
        @Override
        public void run() {
            try {
                int waited = 0;
                while(_active && (waited < _splashTime)) {
                    sleep(100);
                    if(_active) {
                        waited += 100;
                    }
                }
            } catch(InterruptedException e) {
                // do nothing
            } finally {
                finish();
                startActivity(new Intent()); // aqui ira su pantalla de inicio
                stop();
            }
        }
    };
    splashTread.start();
}

@Override
public boolean onTouchEvent(MotionEvent event) {
    if (event.getAction() == MotionEvent.ACTION_DOWN) {
        _active = false;
    }
    return true;
}

Lo que hace este código es crear un hilo que dura el tiempo que queramos, en este caso 100 milisegundos y cuando finaliza dicho tiempo es lanzar la actividad que nosotros queramos. Acuérdensen que tiene que crear el layout splash (con los que ustedes quieran pero tiene que ser simple y claro) y además tienen que declarar esta clase en su manifiesto como siempre lo hacemos.

Cualquier duda no dejen de escribir un comentario en esta entrada. Muchas gracias!

[FIXED]

Gracias a un comentario me di cuenta que no puse la declaracion de las variables _active y -splashTime. Ambas deben declararse como globales

public class SplashScreen extends Activity
{
    protected boolean _active = true;
    protected int _splashTime = 2000;
    ...
}

5 thoughts on “Pantalla de inicio Android

  1. Hola gracias por la aportación, cuando lo creo me dice que _active y _splashTime no están declaradas. Donde y de que tipo son estas variables!? Gracias, Un saludo

  2. Pantalla de inicio Android | Gonzalo Benoffi I was recommended this web site by my cousin. I am not sure whether this post is written by him as no one else know such detailed about my problem. You are wonderful! Thanks! your article about Pantalla de inicio Android | Gonzalo Benoffi Best Regards Yoder Schaad

  3. Pantalla de inicio Android | Gonzalo Benoffi I was suggested this web site by my cousin. I am not sure whether this post is written by him as no one else know such detailed about my problem. You are amazing! Thanks! your article about Pantalla de inicio Android | Gonzalo Benoffi Best Regards Agata Yoder

  4. hola, soy novata…el codigo arriba indicado en que archivo exactamente habria que insertarlo? Si pudieras hacer un manual paso a paso te estaria eternamente agradecida, ya que me esta costando un mundo entender android. Gracias

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *