android android-activity android-5.0-lollipop android-transitions

android - Transición de actividad no realizada(Lollipop)



android-activity android-5.0-lollipop (1)

Debería usar el tema de la aplicación con las siguientes etiquetas de ventana:

<style name="CustomActionBarTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- enable window content transitions --> <item name="android:windowContentTransitions">true</item> <!-- enable overlapping of exiting and entering activities --> <item name="android:windowAllowEnterTransitionOverlap">true</item> <item name="android:windowAllowReturnTransitionOverlap">true</item> </style>

En el archivo de Mainfest, la etiqueta de la aplicación interna usa android: theme = "@ style / CustomActionBarTheme"

En la actividad X,

ActivityOptionsCompat options = ActivityOptionsCompat .makeSceneTransitionAnimation(activity,img_pic, "img_pic");

donde "img_pic" es android: transitionName = "img_pic" en los archivos de diseño de la Actividad X y la Actividad Y.

NOTA: los valores de android: transitionName deben ser los mismos para que la transición tenga lugar.

Actividad de apertura Y con ActivityOptionsCompat o ActivityOptions,

Intent intent = new Intent(context,Activity_Y.class); startActivity(intent, options.toBundle());

Estoy animando una transición entre la actividad X y la actividad Y.
X contiene una lista con imágenes, y cuando se hace clic en una imagen se expande y se "amplía" en la actividad Y.
Entonces, esta imagen es un elemento compartido entre X e Y. He establecido su propiedad transitionName en los diseños XML.
Este es el código que inicia la actividad Y :

ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this, clickedImage, clickedImage.getTransitionName()); startActivityForResult(intent, OPEN_PICTURE_REQUEST, options.toBundle());

Hasta aquí, todo funciona bien. Sin embargo, también quiero animar el diseño de la actividad Y cuando se ingresa.
Para hacerlo, he definido la transición en un archivo XML (picture_enter.xml):

<transitionSet xmlns:android="http://schemas.android.com/apk/res/android" android:transitionOrdering="together"> <transition class="android.transition.Explode" android:startDelay="200"> <targets> <target android:targetId="@+id/top_toolbar_container" /> </targets> </transition> </transitionSet>

Finalmente, en el onCreate de la actividad Y yo inicializo la transición:

TransitionInflater inflater = TransitionInflater.from(this); Transition transition = inflater.inflateTransition(R.transition.picture_enter); Window window = getWindow(); window.setEnterTransition(transition);

Pero esto nunca se realiza. Sólo el efecto "zoom" de la imagen funciona como debería. También he intentado definir la transición programáticamente.
¿Alguna sugerencia?