2012-06-02 12 views
5

Quiero crear una transición de animación en Android de una actividad a la siguiente. Pero durante la animación, hay un apagón corto de un fondo negro y luego se muestra la animación de la siguiente actividad que quiero mostrar.Android: mantener actividad durante la animación

Quiero mantener la primera Actividad intacta, por lo que la segunda Actividad animará y superpondrá la primera Actividad. ¿Cómo puedo lograr este comportamiento?

Aquí están mis dos archivos XML actual de animación, que no están haciendo lo que quiero lograr:

hold.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false" > 

    <translate 
     android:duration="2000" 
     android:zAdjustment="bottom" /> 

</set> 

enter.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false" > 

    <translate 
     android:duration="2000" 
     android:fromXDelta="90%" 
     android:fromYDelta="0%" 
     android:toXDelta="0%" 
     android:toYDelta="0%" 
     android:zAdjustment="top" /> 

</set> 

Mi código Java:

starter.overridePendingTransition(R.anim.enter, 
       R.anim.hold); 

gracias de antemano, Pat

Respuesta

-1

La animación por defecto para la transición de activty A a la actividad B se depende dispositivo. Si la pantalla se pone de color negro por poco tiempo, es porque su dispositivo lo implementa de esa manera ... sin embargo, puede anular la animación que utiliza el tema de su aplicación para aplicar su animación personalizada a la transición entre actividades.

+0

favor suministrar cualquier código o ejemplo de cómo reemplazar la animación de transición tema (y no la actividad) –

9

Introduzca la animación actividad

startActivity(new Intent(this, AnimaitonActivity.class)); 
overridePendingTransition(R.anim.pull_up_from_bottom, R.anim.hold); 

animación Salir de la actividad

finish(); 
overridePendingTransition(R.anim.hold, R.anim.push_out_to_bottom); 

pull_up_from_bottom.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="1000" 
    android:fromYDelta="100%" 
    android:toYDelta="0%" /> 

push_out_to_bottom.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="1000" 
    android:fromYDelta="0%" 
    android:toYDelta="100%" /> 

hold.xml

<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false" > 
    <translate 
     android:duration="2000" 
     android:zAdjustment="bottom" /> 
</set> 
Cuestiones relacionadas