Android: pantalla de bienvenida con style / themes.xml | Autor Anubhav Arora | Junio de 2021


En mi artículo anterior, discutimos la creación de pantallas de presentación al estilo de la vieja escuela. En este artículo, discutiré un método para usar solo styles / themes.xml para implementar la pantalla de bienvenida. Esto eliminará la necesidad de crear otra actividad solo para mostrar la pantalla de inicio.
Entonces, primero debemos crear un estilo para nuestra pantalla de presentación en el archivo styles / themes.xml.
<style name="SplashScreenTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<item name="android:windowBackground">@drawable/ic_splash_screen</item>
</style>
Creé un estilo llamado SplashsegundocreenTheme, el padre no tiene barra de acción.Agregué un proyecto con atributos Fondo de ventana, Aquí es donde debemos colocar el estilo de la pantalla de presentación / dibujable. Estoy usando las imágenes en mi carpeta dibujable.
Para mostrar la pantalla de inicio antes de nuestra actividad de iniciador, debemos reemplazar el tema de nuestra aplicación con el tema que acabamos de crear.
Así que ve al archivo de manifiesto y configura el tema de la aplicación en Tema de la pantalla de bienvenida,
<application
...
android:theme="@style/SplashScreenTheme">....
</application>
Ahora nuestro estilo de aplicación está configurado para Tema de pantalla de bienvenida.
A continuación, para proporcionar a nuestra aplicación nuestro tema anterior después de que se muestre la pantalla de inicio, debemos configurar el tema de la aplicación que usamos en la actividad del iniciador antes. onCreate (..) método.
override fun onCreate(savedInstanceState: Bundle?)
super.onCreate(savedInstanceState)
setTheme(R.style.YOUR_THEME)....
Antes de que se llame a onCreate (..) de nuestro lanzador Activity, mostramos el tema de la pantalla de inicio, y después de que se llame a onCreate (..), cambiamos al tema de nuestra aplicación.
Si ejecutamos nuestra aplicación ahora, aparecerá la pantalla de bienvenida.
Si nota que podemos ver la barra de estado y los botones de navegación en la pantalla de inicio, podemos ocultarlos para brindar una mejor experiencia de usuario. Del mismo modo, necesitamos establecer otras dos propiedades en el tema que creamos,
<style name="SplashScreenTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<item name="android:windowBackground">@drawable/ic_splash_screen</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
</style>
Los atributos anteriores se explican por sí mismos, hacen que el estado y la barra de navegación sean semitransparentes.
Eso es todo, chicos, pueden poner la pantalla de inicio en funcionamiento sin crear otra actividad.