2010-10-13 14 views
10

Quiero agregar animación de fadeout para mi pantalla de presentación, es decir, al cerrar la pantalla de bienvenida, quiero mostrar el efecto de animación de fadeout.Android - Animación de desvanecimiento para la pantalla de bienvenida

Estos son los códigos que he probado.

overridePendingTransition(R.anim.fade_in, R.anim.fade_out); 

Pero lo anterior solo se puede usar desde 2.0. La aplicación Ny debería ser compatible con 1.5.

Así que he configurado la siguiente animación para mi actividad principal.

getWindow().setWindowAnimations(android.R.style.Animation_Toast); 

O

getWindow().setWindowAnimations(R.style.Theme_FadeIn); 

Mi Theme.FadeIn contiene

<style name="Theme.FadeIn"> 
<item name="android:windowNoTitle">true</item> 
<item name="android:activityOpenEnterAnimation">@anim/fade_in</item> 
</style> 

Ahora puede ver el efecto fadein, pero puedo ver el blackscreen.

Cómo obtener este efecto fadein o fadeout sin pantalla negra.

Respuesta

2

Se podría tratar de hacer que su actividad translúcida ... echar un vistazo al tema translúcido en el SDK

@android:style/Theme.Translucent 
2

SWDeveloper,

Si bien ha sido un año desde que me he hecho ningún Desarrollo de Android, recuerdo haber encontrado este problema con mi propia pantalla de bienvenida.

Desafortunadamente, para versiones anteriores a la 2.0, estoy bastante seguro de que el tipo de transición que desea no es posible entre actividades. Es decir, en 1.5/1.6, solo las animaciones de transición incorporadas se pueden usar entre actividades.

Dicho esto, me parece recordar que utilicé ver animaciones de transición dentro de una actividad determinada para producir el tipo de efecto que estaba buscando. En otras palabras, en mi actividad de pantalla de inicio, se desvanece la vista inicial a solo una vista blanca en blanco antes de pasar a la siguiente actividad. La siguiente actividad comenzaría en una vista blanca en blanco y luego se desvanecería en la vista real de la actividad.

Si esto parece mucho trabajo, también podría incluir su vista de pantalla inicial en su actividad inicial y siempre presentarla primero y luego fundirla. Todo dentro de la misma actividad. El uso de este método probablemente le ahorrará tiempo y trabajo, pero le perdería parte de la modularidad que implica la separación de sus pantallas en actividades separadas.

Las animaciones entre vistas se pueden lograr (si no recuerdo mal) a través del widget ViewFlipper. Los documentos de Android se pueden encontrar aquí: http://developer.android.com/reference/android/widget/ViewFlipper.html

Si puedo obtener un control del código base de la aplicación que escribí, intentaré publicar un ejemplo más adelante.

¡Buena suerte!

+0

Ah, y mientras tanto, parece que no puedo encontrar el tutorial que vi en ese momento, pero aquí hay uno que debería ser un buen lugar para comenzar: http://www.helloandroid.com/ tutoriales/how-use-viewflipper – Kai

2

Si está utilizando una actividad separada para su pantalla de inicio, puede hacer la anulación de la llamada de Transferencia anticipada que haya notado que solo está disponible en Android 2+.Usted puede optar por tener aplicaciones que se construyen para 2+ hacer la transición y versiones anteriores, simplemente hacer la transición predeterminada:

try { 
    Method method = Activity.class.getMethod("overridePendingTransition", new Class[]{int.class, int.class}); 
    method.invoke(youractivity, inanimation, outanimation); 
} catch (Exception e) { 
    // Can't change animation, so do nothing 
} 

Es mejor tener su pantalla de presentación de una parte de su actividad principal (see this example). Cuando la pantalla de bienvenida es parte de su actividad principal, puede simplemente asignar la animación al diseño de la pantalla de bienvenida.

Cuestiones relacionadas