Cómo hacer una pantalla de bienvenida (pantalla visible cuando se inicia la aplicación)?
Tengo una aplicación simple, se inicia, carga xml feed de la red, puede navegar por una lista de noticias y luego leer los detalles de una noticia elegida. Lo que me gustaría hacer es tener una pantalla de bienvenida, lo que significa tan pronto como haga clic en la aplicación, debe mostrar una imagen (nombre de la aplicación en mi caso) y luego mostrar la lista de noticias sólo después de haber cargado.
He leído acerca de problemas similares (creo), y por lo general la gente dice usar FrameLayout, pero no puedo realmente solucionarlo. No estoy seguro de si esto se puede hacer en la primera actividad que se inicia, tal vez debería sólo mostrar esta imagen de bienvenida en una actividad y sólo entonces llamar a la actividad que muestra mi lista de noticias?
- Crear una pantalla de bienvenida real
- La barra de título sigue apareciendo, incluso con requestWindowFeature o android: theme
- La pantalla en blanco viene antes de salpicar
- Cómo hacer una pantalla de bienvenida como diapositiva de la imagen
- ¿Cómo hago una pantalla de bienvenida?
Sé que en el iPhone se puede establecer la pantalla de bienvenida en la configuración de la aplicación mientras se desarrolla, sería bueno tener esta funcionalidad en el manifiesto de la aplicación android …
- Android: La pantalla de inicio no se muestra, ¿por qué?
- Android: ¿Cómo mostrar un "tour rápido" al abrir la aplicación por primera vez?
- Seleccione sólo una casilla de verificación de preferencias de salpicaduras
- Cómo mostrar la imagen de bienvenida durante la actividad de carga
- Android SplashScreen
- ¿Qué resolución debería tener mi pantalla de bienvenida de Android?
- Aplicación de pantalla de bienvenida y barra de acción de ocultar
Android sugiere que aproveche el uso de una pantalla de bienvenida al realizar cálculos largos al iniciar. Aquí hay un extracto del sitio web de desarrolladores de Android: Diseño para la capacidad de respuesta:
"Si su aplicación tiene una fase de instalación inicial que requiere mucho tiempo, considere la posibilidad de mostrar una pantalla de bienvenida o renderizar la vista principal lo más rápido posible y rellenar la información de forma asíncrona En cualquier caso, debe indicar de alguna manera que se está progresando, Usuario percibe que la aplicación está congelada. " – Sitio para desarrolladores de Android
Puede crear una actividad que muestre un diálogo de progreso mientras utiliza AsyncTask para descargar el feed xml de la red, analizarlo, almacenarlo en un db (si es necesario) y luego iniciar la actividad que muestra los feeds de noticias. Cierre la actividad splash llamando a finish ()
He aquí un código esqueleto:
public class SplashScreen extends Activity{ @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); // set the content view for your splash screen you defined in an xml file setContentView(R.layout.splashscreen); // perform other stuff you need to do // execute your xml news feed loader new AsyncLoadXMLFeed().execute(); } private class AsyncLoadXMLFeed extends AsyncTask<Void, Void, Void>{ @Override protected void onPreExecute(){ // show your progress dialog } @Override protected Void doInBackground(Void... voids){ // load your xml feed asynchronously } @Override protected void onPostExecute(Void params){ // dismiss your dialog // launch your News activity Intent intent = new Intent(SplashScreen.this, News.class); startActivity(intent); // close this activity finish(); } } }
¡Espero que ayude!
Sé que esto es viejo, pero para aquellos de ustedes que todavía se enfrentan a este problema, puede utilizar esta biblioteca simple de Android-splash para mostrar su pantalla de bienvenida.
SplashBuilder .with(this, savedInstanceState) .show();
Puede establecer SplashTask
que se ejecutará mientras se muestra la pantalla de bienvenida.