Переход активности не выполнен (Lollipop)

Я оживляю переход между активностью X и активностью Y.
X содержит список с изображениями, а при щелчке изображения расширяется и "увеличивается" в действии Y.
Таким образом, это изображение является элементом общего доступа между X и Y. Я установил его свойство transitionName в макетах XML.
Это код, начинающийся с активности Y:

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

До сих пор все работает нормально. Тем не менее, я также хочу анимировать макет активности Y при вводе.
Для этого я определил переход в файле 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>

Наконец, в onCreate активности Y я инициализирует переход:

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

Но это никогда не выполняется. Эффект "масштабирования" изображения работает только по своему усмотрению. Я также попытался определить переход программно.
Любые предложения?

Ответы

Ответ 1

Вы должны использовать тему приложения со следующими тегами окна:

<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>

В файле Mainfest внутри тега приложения используется Android: тема = "@стиль/CustomActionBarTheme"

В действии X,

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

где "img_pic" - это android: transitionName = "img_pic" в обоих файлах макета Activity X и Activity Y.

ПРИМЕЧАНИЕ: android: значения переходаName должны быть одинаковыми для перехода.

Открытие операции Y с помощью ActivityOptionsCompat или ActivityOptions,

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