Общие элементы Переход EXIT никогда не использовался?

вступление

В настоящее время я работаю с переходами активности и общими элементами.


Что я знаю

Я понимаю, как работают переходы контента. Они играют в таком порядке при переходе A -> B :

  1. Выход из перехода в действии
  2. Фон исчезающей активности B
  3. Введите переход в действии B

И затем при переходе B -> A :

  1. Возвратный переход в действии B
  2. Фон затухания активности
  3. Повторный вход в действие

Также, чтобы иметь возможность видеть все эти переходы один за другим, два следующих атрибута должны быть установлены в false:

  • setAllowEnterTransitionOverlap
  • setAllowReturnTransitionOverlap

Моя проблема

Теперь приступайте к переходу общих элементов!

Я заметил, что независимо от конфигурации Transition SharedElementExitTransition никогда не воспроизводится.

Что бы это ни было, всегда используется SharedElementEnterTransition.

Пока что я пробовал:

  • Деактивируйте TransitionOverlap и используйте длинный переход Exit (content)
  • Установите два разных перехода для SharedElement Enter и Exit Transitions
  • Полностью деактивировать SharedElementEnterTransition

Во всех этих ситуациях ShareElementExitTransition никогда не используется!


Мой вопрос

  • Это нормальное поведение?
  • Если да, то в чем смысл этого перехода?

Заранее спасибо за ваши ответы.


person ThisIsFlorianK    schedule 01.10.2015    source источник


Ответы (1)


SharedElementExitTransition предназначен для выполнения каких-либо действий с общим элементом перед его перемещением в вызываемое действие. Например, вы можете захотеть поднять его и переместить в центр экрана до того, как вызванная активность вступит во владение.

Важная часть заключается в том, что переход выхода из общего элемента выполняется после вызова startActivity. Таким образом, вы должны внести изменения в общий элемент в этот момент. По сути, вы делаете это:

startActivity(intent, activityOptionsBundleWithTransitions);
manipulateSharedElement();

Затем будет выполнен переход выхода из общего элемента, и общий элемент не будет передан до тех пор, пока он не завершится. Выходные переходы общего элемента используются редко.

person George Mount    schedule 06.10.2015
comment
Кажется, это не работает для меня. Не могли бы вы привести какой-то конкретный пример? - person Iwo Banas; 29.11.2018