片段过渡动画
Fragment Transition Animation
我正在尝试为 2 个片段制作动画 [Splash Fragment , Fragment 1]
在过渡时有一个小毫秒的白色空白屏幕,不应该出现
动画资源文件代码:-
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="100%" android:toXDelta= "0%" android:duration = "250"/>
</set>
这个文件是我在导航文件中添加的,用于输入动画字段中的一个动作
我的splashFragment的导航如下:
Handler().postDelayed({findNavController().navigate(R.id.action_splashScreen_to_onBording)},3000)
如前所述,基本问题是在过渡过程中有一小段 window 几毫秒的时间出现白屏并破坏了视图。我该如何删除它?
提前致谢
因为我无法理解你的动画文件是从 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 fragment向上滑动,但比fragment1慢。并且不会显示空白屏幕。
我正在尝试为 2 个片段制作动画 [Splash Fragment , Fragment 1]
在过渡时有一个小毫秒的白色空白屏幕,不应该出现
动画资源文件代码:-
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="100%" android:toXDelta= "0%" android:duration = "250"/>
</set>
这个文件是我在导航文件中添加的,用于输入动画字段中的一个动作
我的splashFragment的导航如下:
Handler().postDelayed({findNavController().navigate(R.id.action_splashScreen_to_onBording)},3000)
如前所述,基本问题是在过渡过程中有一小段 window 几毫秒的时间出现白屏并破坏了视图。我该如何删除它?
提前致谢
因为我无法理解你的动画文件是从 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 fragment向上滑动,但比fragment1慢。并且不会显示空白屏幕。