Nov 4th, 2015

Pantalla de splash, la forma correcta | Desarrollo Android

Pantalla de splash, la forma correcta | Desarrollo Android

Las pantallas de splash son aquellas que aparecen antes de iniciar la aplicación y que habitualmente muestran el logo y/o slogan de la app.

Antes de Material Design estaban desaconsejadas, ya que hacen esperar al usuario para mostrar información irrelevante.

Con la nueva guía de diseño de Android se ha retomado la iniciativa de añadir pantallas de splash pero de la forma correcta: aprovechando el tiempo de carga de la aplicación, que en dispositivos de gama media/alta es mínimo, pero suficiente para cumplir con el objetivo, hacer remarketing de tu aplicación.

Este sencillo truco consiste en modificar el fondo de la Activity principal, la que se llama al iniciar la aplicación para que muestre el logo o lo que nos interese.

El primer paso consiste en añadir un recurso llamado bg_splash.xml en la carpeta drawable del tipo layer-list que contenga dos items: el color del fondo y un bitmap con el logo o imagen a mostrar:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:drawable="@android:color/white"/>
    <item>
        <bitmap
            android:gravity="center"
            android:src="@mipmap/ic_launcher"/>
    </item>
</layer-list>

 

Después añadiremos un nuevo tema a nuestra aplicación a partir del que ya tengamos definido como base:

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- Customize your theme here. -->
    </style>
    <style name="SplashTheme" parent="AppTheme">
        <item name="android:windowBackground">@drawable/bg_splash</item>
    </style>
</resources>

 

El último paso es indicar a la Activity que tenga el intent-filter de Launcher que utilice este nuevo estilo:

<activity
    android:name=".SplashActivity"
    android:theme="@style/SplashTheme">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

 

Y ya está. Con estos tres sencillos pasos que puedes realizar en cinco minutos tienes un splash que no te afecta al rendimiento ni tienes que configurar Timers ni otras soluciones para retrasar la inicialización de tu app.

Adjunto un descargable con una captura del código implementado.

Cualquier duda o consulta, envía un comentario!

 

Fuente: BigNerdRanch


Descargable

Share Button

Sobre el Autor

vAlmaraz

Soy un desarrollador independiente de Salamanca, España. Aunque me especializo en Android y Desarrollo Web, también hago trabajos sobre Desarrollo Web Móvil, aplicaciones de escritorio y programación de robótica.

Comentarios

Escribe un Comentario