Solicitud de pantalla de bienvenida de Android 2023

Imagen de JustinmindCon el primer lanzamiento oficial de la biblioteca androidx.core.splashscreen, no hay mejor momento para saltar a la última tendencia obstinada de Android de hacer que la pantalla de inicio no solo sea obligatoria, sino semiuniforme en todas las aplicaciones. androide 12, se ha agregado una nueva función en la que todas las aplicaciones ahora tienen una pantalla de bienvenida al inicio. Esta nueva función está controlada principalmente por el sistema operativo, pero permite cierta personalización. Paralelamente, también implementaron la API SplashScreen, que permite a los desarrolladores tomar el control de este nuevo proceso. Como explica la documentación oficial, esta experiencia trae un tema predeterminado para cada lanzamiento de la aplicación, pero también se puede personalizar para permitir que su aplicación mantenga su marca única. La pantalla de bienvenida consta de dos pasos principales, ya sea en un arranque en frío (cuando el proceso de la aplicación no se está ejecutando) o en un arranque en caliente (la actividad no se ha creado):

  1. El sistema mostrará la pantalla de bienvenida con los temas y todas las animaciones que hayas definido
  2. Cuando la aplicación esté lista, la pantalla de bienvenida se cerrará y aparecerá la aplicación.

Comenzando con build.gradle en el nivel de la aplicación, debemos asegurarnos de apuntar a una API de 31 o superior. Además, primero debemos integrar la nueva biblioteca principal de la pantalla de presentación en nuestro proyecto. Después de que se haya compilado la capa SDK y se haya integrado la biblioteca, las nuevas API de la pantalla de presentación se pueden implementar agregando la siguiente definición de estilo al archivo styles.xml o se agrega «themes.xml».< style name="Theme.MyApp.Starting" parent="Theme.SplashScreen">@color/bg_splashscreen@drawable/ic_marca @estilo/Tema.MiAplicación

Hay tres elementos principales en esta configuración inicial para una pantalla de inicio:

  • windowSplashScreenBackground: define el color directo utilizado para un fondo, con el blanco como valor predeterminado.
  • windowSplashScreenAnimationIcon: anula el recurso de icono que se va a usar, y el valor predeterminado es el icono del iniciador.
  • postSplashScreenTheme: esta opción define el tema que se aplica automáticamente después de que la pantalla de inicio finaliza la transición.

A continuación, el manifiesto del proyecto también debe actualizarse para que sepa que la aplicación debe iniciarse con el nuevo estilo de pantalla de inicio en lugar del tema normal.Por último, pero no menos importante, su actividad de lanzamiento debe desencadenar la implementación de la pantalla de inicio personalizada llamando a la extensión de Kotlin installSplashScreen() directamente desde la función onCreate() para que todo funcione. Bundle?) {super.onCreate(savedInstanceState)// Enable support for // Splash Screen API for real Android 12+ supportinstallSplashScreen()…}…} Como se mencionó brevemente en la última sección, el campo windowSplashScreenAnimatedIcon debe ser anulado para utilizar un icono que no sea el icono del lanzador. Además, podemos configurar un fondo de icono opcional para usar cuando se necesita más contraste entre el icono y el fondo de la pantalla de inicio. @color/…Además, también podemos agregar una imagen de marca en la parte inferior de la pantalla de inicio. Este patrón no es muy recomendado por Google, pero no obstante es compatible y se puede acceder a él de la siguiente manera.@drawable/img_brandingPasando a usos más avanzados de las nuevas API de SplashScreen, el ícono se puede anular con un vector animado y dibujable, lo que permitiría que la pantalla de inicio muestre una animación como parte de la secuencia de inicio. @drawable/anim_marca1000Observe que se agregó el campo windowSplashScreenAnimationDuration para especificar cuánto debe durar la animación de la pantalla de inicio. Esta opción es utilizada por androide 12pero comenzando con androide 13 la duración de la animación se puede derivar directamente de AnimatedVectorDrawable.Si desea saber cómo crear y reutilizar estos AnimatedVectorDrawables, consulte mi otro artículo donde analizo este tema y presento una herramienta para ayudar a crear estos recursos en general. Otra característica interesante que habilita la nueva API SplashScreen es la capacidad de tener una implementación de pantalla de inicio alternativa para el modo nocturno/oscuro. Hacer que la pantalla de inicio del modo nocturno alternativo funcione no es muy diferente a lo que discutimos en la configuración inicial. Suponiendo que su aplicación ya tenga el diccionario de recursos de valores nocturnos, ubique la versión del modo nocturno del archivo themes.xml y agregue exactamente el mismo código que antes, pero apuntando a sus recursos del modo nocturno.

Después de agregar este bloque de código, debe poner su dispositivo en modo oscuro y ejecutar la aplicación. Ahora debería ver la versión del modo nocturno de la pantalla de inicio. De manera similar, restablecer su dispositivo al modo de luz mostraría la pantalla de inicio «normal» que teníamos antes.Hay algunas otras opciones con las que podemos jugar que no hemos cubierto en este artículo. Para obtener más información sobre qué son y cómo usarlos, consulte la documentación oficial como referencia. ¡Aplauda y síganos si encuentra esto interesante, y asegúrese de revisar algunas de mis otras solicitudes sobre los entresijos del mundo de Android!

Deja una respuesta

Tu dirección de correo electrónico no será publicada.