У меня возникли проблемы с пониманием разницы между этими двумя флагами Window и я не уверен на 100%, когда каждый из них нужно использовать и почему.
Документы для Window.FEATURE_ACTIVITY_TRANSITIONS говорят:
Включает действия для запуска Activity Transitions либо путем отправки или получения пакета ActivityOptions, созданного с помощью
makeSceneTransitionAnimation(Activity, Pair[])илиmakeSceneTransitionAnimation(Activity, View, String).
И документы для Window.FEATURE_CONTENT_TRANSITIONS говорят:
Флаг для запроса изменения содержимого окна должен быть анимированным с помощью
TransitionManager.
TransitionManagerустанавливается с помощьюsetTransitionManager(TransitionManager). Если ни один не установлен, будет использоваться значение по умолчаниюTransitionManager.
В документации указано, что следующие методы Window требуют включения флага FEATURE_ACTIVITY_TRANSITIONS, но не говорят о том, нужно ли FEATURE_CONTENT_TRANSITIONS (обратите внимание, что в соответствии с исходным кодом FEATURE_ACTIVITY_TRANSITIONS - true и FEATURE_CONTENT_TRANSITIONS - false для приложений с тематическими материалами по умолчанию)
-
get{Enter,Exit,Return,Reenter}Transition() -
set{Enter,Exit,Return,Reenter}Transition() -
getSharedElement{Enter,Exit,Return,Reenter}Transition() -
setSharedElement{Enter,Exit,Return,Reenter}Transition() -
getTransitionBackgroundFadeDuration() -
setTransitionBackgroundFadeDuration()
Другими словами, похоже, что на основе этой информации FEATURE_ACTIVITY_TRANSITIONS является флагом функции, которую приложениям необходимо будет разрешить, чтобы использовать новые API перехода Lollipop. Что меня смущает, так это то, что эта статья с сайта разработчиков Android заявляет, что включение FEATURE_CONTENT_TRANSITIONS требуется для реализации пользовательских переходов активности.
Итак, вот мои вопросы:
- В чем разница между этими двумя флагами? В чем разница между "переходом активности" и "контентом контента" в этом контексте?
- Почему
FEATURE_ACTIVITY_TRANSITIONSвключен иFEATURE_CONTENT_TRANSITIONSотключен по умолчанию? Когда флажокFEATURE_CONTENT_TRANSITIONSдействительно нужен? - Было бы целесообразно отключить
FEATURE_ACTIVITY_TRANSITIONSи включитьFEATURE_CONTENT_TRANSITIONS? ИлиFEATURE_CONTENT_TRANSITIONSтребует, чтобыFEATURE_ACTIVITY_TRANSITIONSтакже был включен?
Спасибо!