Cómo implementar SplashScreen en Android 12
La SplashScreen es una pantalla que se muestra cuando se abre una aplicación en un dispositivo móvil.
Conocida como pantalla de inicio, de presentación o de bienvenida, se visualiza mientras la aplicación se está cargando, y deja de mostrarse cuando la app finaliza su carga y aparece su primera pantalla.
El tiempo en el que se muestra la SplashScreen suele ser pequeño y variar según el dispositivo móvil o si la aplicación estaba ya abierta.
Es decir, la visualización de esta pantalla es fugaz: si miras hacia otro lado es posible que te la pierdas.
La SplashScreen es una de las pantallas más importantes de una aplicación, ya que es la primera experiencia del usuario con la aplicación.
Antecedentes y Android 12
Como comenté en mi anterior artículo, antes de Android 12 no existía una manera oficial de crear una SplashScreen. En dicho artículo, enseñé dos maneras comunes de crear y personalizar la pantalla de inicio:
- Diseño a través del Tema de la App
- Diseño a través de un layout
Desde el anuncio de Android 12, han ido viendo la luz las distintas funcionalidades que iba a incluir la nueva versión del sistema operativo. Entre ellas se incluía la implementación y personalización de la SplashScreen.
El lanzamiento oficial de Android 12 se realizó el 4 de octubre de 2021. Por tanto, ya podemos conocer más a fondo cómo implementar la SplashScreen de forma correcta.
Implantación
Elementos de la SplashScreen
Google ha estandarizado el diseño de esta pantalla de bienvenida, al menos en su versión más básica.
La SplashScreen estará formada por el icono de la aplicación y un fondo para la pantalla.
Además, podrá realizar una animación al mostrarse.
- Icono a mostrar: Es recomendable que esté vectorizado.
- Fondo del icono: Es opcional. Se utiliza si se desea que exista más contraste entre el icono y el fondo de la pantalla.
- Enmascaración del icono. Es una región o espacio reservado para el icono.
Lo ideal es que el icono tenga un tamaño de 64dp, que sumado a esta región se quede en 108dp.
- Fondo de pantalla: constará de un único color opaco.
Además, la SplashScreen se muestra con animaciones:
- Animación de entrada: es la animación que se realiza al mostrar la SplashScreen. El sistema controla esta animación y no se puede personalizar.
- Animación de salida: es la animación que se realiza cuando se va a ocultar la SplashScreen. Ésta animación sí es personalizable.
De forma predeterminada, el sistema implementa automáticamente una SplashScreen, la cual usará el icono de la aplicación y como fondo usará el color establecido como fondo de la aplicación.
Cómo implementarla
- Antes de hacer uso de la API, asegúrate que tu App compila con el sdk de Android 12, que en este caso es la versión 31.
Además, habrá que añadir como dependencia la API de compatibilidad de SplashScreen. De esta manera, nos aseguramos que la SplashScreen se muestra correctamente en versiones anteriores de Android.
2. En el archivo de estilos (theme.xml), habrá que crear un tema personalizado que debe ser hijo del tema Theme.SplashScreen.
3. En el archivo de manifiesto (manifest.xml), añade el tema creado como tema de la aplicación.
4. Por último, para implementar nuestra SplashScreen definitivamente, hay que llamar a super.onCreate() al sobreescribir el método onCreate().
5. Finalmente, ejecuta tu aplicación y comprueba el resultado.
Otros artículos relacionados:
- Nueva Herramienta de SplashScreen API en Android 12
- Apps para hacer nuestros dispositivos más inteligentes
Profesor de Desarrollo Android + Proyectos