2011-01-30 21 views
5

Estoy tratando de cambiar la transición entre dos actividades en una aplicación de Android. Descubrí que anular la Transición rápida haría el trabajo, pero parece que no funciona para mí. Este es el código que estoy trabajando con:overridePendingTransition en Android SDK no funciona

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.splash); 

    ImageView logo = (ImageView) findViewById(R.id.ImageView01); 
    Animation fade = AnimationUtils.loadAnimation(this, R.anim.fade_in); 

    fade.setAnimationListener(new AnimationListener() { 

    @Override 
    public void onAnimationRepeat(Animation animation) { 
    // TODO Auto-generated method stub 

    } 

    @Override 
    public void onAnimationStart(Animation animation) { 
    // TODO Auto-generated method stub 

    } 

    @Override 
    public void onAnimationEnd(Animation animation) { 
    startActivity(new Intent(FDSplashActivity.this, 
     FDGameActivity.class)); 
    FDSplashActivity.this.finish(); 
      overridePendingTransition(R.anim.fade_in, R.anim.fade_out); 
    } 

    }); 
    logo.startAnimation(fade); 
} 

Se supone que muestra la pantalla de bienvenida, se desvanecen en un logotipo y luego cambiar a otra actividad. Eso funciona, pero no la anulación de líneaPendingTransition (R.anim.fade_in, R.anim.fade_out) ;. Cuando lo estoy pasando por alto en Eclipse, solo dice: "El método reemplazaPendingTransition (int, int) no está definido para el tipo nuevo Animation.AnimationListener() {}"

Por favor, ayúdame.

Respuesta

13

overridePendingTransition es un método de actividad. Tal como lo hizo con la llamada para finalizar(), intente utilizar

FDSplashActivity.this.overridePendingTransition(R.anim.fade_in, R.anim.fade_out); 
+0

Ah, claro, gracias. Pero reemplacé la línea con la tuya y sigo recibiendo una línea roja debajo de la palabra anular TransiciónPendición. ¿Qué estoy haciendo mal? ¿Estoy usando la versión de SDK incorrecta? –

+3

Yo estaba. Eclipse eligió automáticamente Android 1.6 como Project Build Target. Pero después de cambiar a 2.1, ahora funciona de maravilla. ¡Gracias hombre! –

+0

dentro de un fragmento, úselo como 'getActivity(). OverridePendingTransition (R.anim.slide_in_left, R.anim.slide_out_right);' –

Cuestiones relacionadas