¿Alguien ha utilizado con éxito setExitTransition en L?
He estado tratando de usar las nuevas animaciones de fantasía que vienen con la vista previa del desarrollador L, pero tengo muchas dificultades. En particular, no estoy viendo ninguna animación de fantasía. Estoy tratando de usar la transición de salida Explode. Aquí está el código:
public class ActivityA extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // inside your activity getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS); // set an exit transition getWindow().setExitTransition(new Explode()); setContentView(R.layout.activity_a); // Find our button and add our click handler Button button = (Button)findViewById(R.id.buttonA); button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // Transition to activity B Intent intent = new Intent(ActivityA.this, ActivityB.class); startActivity(intent); } }); } }
En lugar de iniciar otra actividad usando startActivity(intent);
Utilice la siguiente instrucción.
startActivity(intent,ActivityOptions.makeSceneTransitionAnimation(this).toBundle());
Comencé otra actividad como dije arriba y funcionó para mí.
Se dice en la documentación de google Definición de animaciones personalizadas como sigue.
Resuelto el problema – necesita el
getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
Llame también a la actividad que está realizando la transición!
Prueba esto.
public class MyActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // enable transitions getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS); setContentView(R.layout.activity_my); } public void onSomeButtonClicked(View view) { getWindow().setExitTransition(new Explode()); Intent intent = new Intent(this, MyOtherActivity.class); startActivity(intent, ActivityOptions .makeSceneTransitionAnimation(this).toBundle()); } }
requestFeature
en onCreate
un setExitTransition
antes de startActivity