将输入动画添加到android导航组件中的开始目的地
我知道如何在导航图的将输入动画添加到android导航组件中的开始目的地,android,android-jetpack,android-navigation,android-jetpack-navigation,android-navigation-graph,Android,Android Jetpack,Android Navigation,Android Jetpack Navigation,Android Navigation Graph,我知道如何在导航图的action标记中添加进入和退出动画。我还知道如何在使用navController导航时使用NavOptions动态添加动画 我想知道如何在导航图中为StartDestination添加enter动画。我可以用两种方法来做: 将动画应用于“开始-目标”的根视图 使用将被原始目标片段替换的临时开始目标片段 将动画应用于NavHostFragment的容器(FrameLayout),并动态添加主机片段 但我想知道是否有任何官方的解决方案 谢谢没有官方的方法来制作startDest
action
标记中添加进入和退出动画。我还知道如何在使用navController
导航时使用NavOptions
动态添加动画
我想知道如何在导航图中为StartDestination
添加enter动画。我可以用两种方法来做:
NavHostFragment
的容器(FrameLayout
),并动态添加主机片段谢谢没有官方的方法来制作
startDestination
片段的动画,我相信你一般不应该制作它的动画。您的startDestination
片段有几种进入视图的方式,它们都有自己的方式来运行动画:
NavHost
由活动托管,此活动从启动器启动。启动程序通常会覆盖窗口转换,以使您的活动看起来很好李>
NavHost
由一个活动托管,而此活动由另一个活动启动。用于覆盖默认值NavHost
嵌套在片段中。包含的片段在进入视图时运行自己的转换startDestination
片段出现或消失时,在所有情况下都会涉及另一个转换,因此这里的片段转换可能会与现有转换发生冲突,使其看起来不愉快
同时,如果你真的想制作动画,有很多方法。除了问题中提到的以外,我还可以考虑以下几点:
fragmentOpenInterAnimation
,fragmentOpenExitAnimation
等在应用程序主题中设置默认片段转换。更新:这在问题的上下文中没有意义,而且无论如何也不会起作用Fragment.onCreateAnimation
或Fragment.onCreateAnimator
方法,并返回所需的动画/动画谢谢你的描述。我有一个特定的场景,所以我必须禁用默认的活动动画。但是,我根据自己的要求,使用
NavController
设置了BottomNavigationBar
,它似乎在第一次显示开始目的地以及在顶层之间切换时使用了淡入淡出动画。这很有趣,我认为BottomNavigationBar
不会以任何方式更改默认行为,因此,在这种情况下,startDestination
也不应设置动画。但是,在目的地之间切换时,它确实使用淡入淡出动画。