如何在退出转场之上展示片段的进入转场

3

我希望将进入动画显示在退出动画之上。

但是,正如您在GIF中所看到的那样,进入动画在退出动画下面。

我该如何解决这个问题?

导航组件用于片段转换。

enter image description here

EnterFragment.kt

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enterTransition = Slide().apply {
        duration = 2000
        slideEdge = Gravity.END
    }
}

ExitFragment.kt

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    exitTransition = Slide().apply {
        duration= 3000
        slideEdge = Gravity.START
    }
}

nav_main.xml

<action
    android:id="@+id/move"
    app:destination="@id/fragment_enter"
/>

如果你同时使用相同的持续时间,会发生什么呢?我认为那将是一个幻灯片翻译。这不是你想要的吗? - ADM
谢谢你的回答。 这个 gif 只是一个例子,我最终想要的动画不是幻灯片。为了做到这一点,进入转换必须在退出转换之上可见。 - dylan.kwon
1个回答

2

1
虽然这样可能有效,但这并没有解决我们如何使用片段上的setEnter/setExitTransition来实现这一目标的问题。在我的情况下,我想在运行时定义动画,并希望它们是动态的,因此静态xml方法对我不起作用。奇怪的是,Android文档“强烈建议使用转换框架”:https://developer.android.com/guide/fragments/animate。然而,Jetpack库和大多数在线解决方案仍然使用`setCustomAnimations`。 - sbearben

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接