en desarrollo

Aunque parezca demasiado pronto, los desarrolladores de Android ya están trabajando en la nueva versión del Sistema Operativo, que se llamará Android 12. De hecho, en los meses anteriores ha publicado algunas Previews de la nueva versión para que los desarrolladores vayan informándose de las novedades.
Hace unos días se publicó la Preview 3, donde ha revelado, entre otras funcionalidades, una nueva herramienta: SplashScreen API, un nuevo conjunto de funciones con las que pretende mejorar el inicio de las aplicaciones, mostrando una pantalla de carga (conocida como SplashScreen) que será mucho más sencilla de personalizar.

SplashScreen antes de Android 12

Actualmente, mostrar y personalizar la SplashScreen de una App es algo que a veces nos trae “de cabeza” a los desarrolladores. Android no proporciona ninguna herramienta específica para ello, y en la documentación no indica cómo hacerlo. Durante estos años, los desarrolladores han discutido cuál es la mejor forma de hacerlo a través de distintos blogs y plataformas.

SplashScreen a través del Tema

La mayoría de desarrolladores coincide en que la forma más adecuada de mostrar un SplashScreen es por medio de un Tema o Estilo del proyecto.

Pasos:
1.- Crear un drawable que actuará como imagen en la pantalla de carga. Por ejemplo, un layer-list con un gradiente de colores como fondo y un bitmap que muestra el icono alineado en el centro.
2.- Después se crea un estilo propio para el SplashScreen, que usará como fondo el drawable creado anteriormente.
3.- En el archivo Manifest, se aplica el nuevo tema a la primera actividad de la App.

splashscreen

La ventaja de este método es que realmente funciona como un SplashScreen; se muestra en cuanto se abre la App e inmediatamente pasa a la primera actividad.
La principal desventaja es que resulta complicado realizar diseños más avanzados usando un drawable.

SplashScreen través de un layout

Otra opción muy extendida es realizar el diseño de la SplashScreen en un layout, como si se tratara de una pantalla más de la App, y mostrarlo en una actividad inicial durante algunos segundos, antes de pasar a la primera actividad:

Pasos:
1.- Crear un layout con el diseño que se quiere para la SplashScreen.
2.- Crear una actividad donde mostrar este layout. La actividad tendrá un temporizador para pasar a la primera actividad pasados unos segundos.
3.- Indicar en el archivo Manifest que ahora la actividad de inicio será la del SplashScreen.

splashscreen

La ventaja de hacerlo de esta forma es que el layout ofrece muchas más posibilidades en el diseño, como crear interfaces más avanzadas, con animaciones, o con varios elementos o vistas.
Por el contrario, la parte negativa es que realmente este método no actúa como una pantalla de carga, por lo que durante unas décimas de segundo, se podrá ver una pantalla negra mientras se abre la App y carga la SplashScreen que hemos creado a través de un layout..

SplashScreen API

Como se ha comentado al principio del artículo, Android 12 agrega la SplashScreen API, que va a permitir personalizar esta pantalla de carga o bienvenida.
Según indica la Preview 3, por defecto la SplashScreen estará compuestas por:
⦁ Un fondo de pantalla
⦁ El icono de la aplicación
⦁ El fondo del icono
Tendrá una animación de entrada al mostrarse la pantalla, y una animación de salida para la transición entre la SplashScreen y la primera actividad de la App. El icono de la App también podrá estar animado.

splashscreen

Fuente: Android Developers

 

Se podrán personalizar varias aspectos de la pantalla de carga:
⦁ Cambiar su apariencia con otros colores
⦁ Cambiar la duración en la que se está mostrando la SplashScreen.
⦁ Personalizar las animaciones, aunque la animación de entrada será predeterminada por el sistema y no podrá ser personalizable.

En resumen, con la nueva API para la SplashScreen, Android se ocupa por fin de una parte de las Aplicaciones que tenía olvidada, estableciendo una forma oficial de diseñar la pantalla de carga. Seguro que esta funcionalidad es bien recibida por los desarrolladores, sobre todo por aquellos que se preocupan del detalle más mínimo de su App.

SERGIO VELASCO

Profesor de DESARROLLO ANDROID + PROYECTOS

Contacta con nosotros

No estamos en todo momento. Sin embargo, nos puede enviar un correo electrónico y nos pondremos en contacto con usted, lo antes posible.

storyboard