android-fragments 片段转场动画

6pp0gazn  于 2022-11-14  发布在  Android
关注(0)|答案(1)|浏览(147)

我正在尝试设置2个片段的动画[Splash片段,片段1]
当转换时,出现一个白色空白屏幕,持续毫秒,这是不应该出现的
动画资源文件的代码:-

<set xmlns:android="http://schemas.android.com/apk/res/android">

<translate android:fromYDelta="100%" android:toXDelta= "0%"  android:duration = "250"/> 
</set>

此文件是我在导航文件中添加的,用于输入动画字段中的操作
我的splash片段的导航如下:

Handler().postDelayed({findNavController().navigate(R.id.action_splashScreen_to_onBording)},3000)

如前所述,最基本的问题是在过渡时,有一个几毫秒的小窗口,在那里出现了一个白色的屏幕,破坏了视图。我该如何删除它?
先谢谢你

zpgglvta

zpgglvta1#

因为我无法理解你的动画文件是从YDelta到XDelta,这是相反的东西。所以,我认为你的意思是从YDelta到YDelta,这将使片段从下往上滑动。
现在,关于答案。当设置导航动画时,你必须创建一个退出动画以及进入动画。否则你将面临白色的问题。
因此,您可以将下面的动画添加为退出动画。

<set xmlns:android="http://schemas.android.com/apk/res/android">

         <translate android:fromYDelta="0%" android:toYDelta= "-100%"  android:duration = "450"/> 
    </set>

它会使splash片段也向上滑动,但比fragment1慢。并且不会显示空白的白色屏幕。

相关问题