Изменить представление sharedElement для перехода между общими элементами

У меня есть RecyclerView. Когда я нажимаю на элемент, я начинаю новую операцию с анимацией перехода общего элемента. В этом "дочернем" задании у меня есть ViewPager, и я могу перейти к другим элементам и затем нажать "Назад". Поэтому мне нужно изменить вид sharedElement в "родительском" действии, чтобы обратный переход был применен к нужному элементу.

Как я могу этого достичь? Мы устанавливаем sharedElement в makeSceneTransitionAnimation, но как изменить его для обратной анимации?

1 ответ

Вы должны использовать SharedElementCallback в First Activity следующим образом:

private final SharedElementCallback exitTransitionCallBack = new SharedElementCallback() {
    @Override
    public void onMapSharedElements(List<String> names, Map<String, View> sharedElements) {

        sharedElements.clear();
        sharedElements.put("transition name 1", view1);
        sharedElements.put("transition name 2", view2);
    }
};

Этот код будет выполнен, когда вы вернетесь из Second Activity в First Activity и наоборот.

И не забудьте в onCreate:

setExitSharedElementCallback (exitTransitionCallBack);

Другие вопросы по тегам