我在理解这两个Window
标志之间的区别时遇到了一些麻烦,并且不能 100% 确定何时需要使用它们以及为什么。
文档Window.FEATURE_ACTIVITY_TRANSITIONS
说:
通过发送或接收使用
makeSceneTransitionAnimation(Activity, Pair[])
或创建的 ActivityOptions 捆绑包,使活动能够运行活动转换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
的是应用程序需要启用的功能标志才能使用 Lollipop 的新 Activity Transition API。然而,让我感到困惑的是, 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
启用?
谢谢!