Lo hice usando solo un diseño xml. Acabo de poner un RelativeLayout adicional que representa mi pantalla de introducción, luego uso una animación fadeOut y luego invoco .setVisibility (View.GONE).
Esto es parte de mi archivo de diseño main.xml
<RelativeLayout
android:id="@+id/introLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF"
>
<ImageView
android:id="@+id/logoImg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/logo">
</ImageView>
</RelativeLayout>
A continuación, dentro de mi actividad tengo esto:
introLayout = (RelativeLayout) findViewById(R.id.introLayout);
Animation fadeOutAnim = AnimationUtils.loadAnimation(MyActivity.this, R.anim.fadeout);
introLayout.startAnimation(fadeOutAnim);
introLayout.setVisibility(View.GONE);
Se podría hacer esta carrera después de 3 segundos al poner el startAnimation() , y la setVisibility dentro de un ejecutable y el uso de postDelayed() como se menciona markus. Sin embargo, considere hacer algún trabajo mientras este diseño de introducción está en la pantalla, por lo que no es solo un retraso de 3 segundos para el usuario. Tal vez verifique si la versión actual de la aplicación es la versión actual o no.
EDIT: Usted tendrá que añadir el archivo fadout.xml a /res/anim/
(crear el directorio anim si no existe). Aquí hay un ejemplo.
fadeout.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="700"
android:fillAfter="true"/>
¡Esta es una solución inteligente! – Sana
¿dónde va el '.anim' en' R.anim'. Obtengo un 'anim no puede ser resuelto o no es un campo' – Alex
@ w0rldart necesitas agregar fadeout.xml a la carpeta'/res/anim/', mira mi edición. – FoamyGuy