PopEnter动画在导航组件中不起作用

我想在两个片段之间以两种方式进行幻灯片过渡。我现在所做的是在输入动画和 popExit 中工作,而不是 popEnter(前一个片段显示没有过渡)。

我的过渡动作如下所示:

<action 
   android:id="@+id/action_welcomeFragment_to_interfaceScalePickFragment"
   app:destination="@id/interfaceScalePickFragment"
   app:enterAnim="@anim/slide_in_right"
   app:exitAnim="@anim/slide_out_left"
   app:popEnterAnim="@anim/slide_in_left"
   app:popExitAnim="@anim/slide_out_right" />

我的自定义动画之一看起来像那样(它是 slide_out_left)

<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false" >
    <translate android:duration="500" android:fromXDelta="0%" android:toXDelta="-100%"/>
    <alpha android:duration="500" android:fromAlpha="1.0" android:toAlpha="0.0" />
</set>

例如,我的欢迎片段是这样写的:

package com.delet_dis.elementarylauncher.fragments

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.navigation.findNavController
import com.delet_dis.elementarylauncher.R
import com.delet_dis.elementarylauncher.databinding.FragmentWelcomeScreenBinding

class WelcomeFragment : Fragment() {
    private lateinit var binding: FragmentWelcomeScreenBinding

    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        return if (savedInstanceState == null) {
            binding = FragmentWelcomeScreenBinding.inflate(layoutInflater)

            binding.root
        } else {
            view
        }
    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        if (savedInstanceState == null) {
            binding.getStartedButton.setOnClickListener {
                requireActivity().findNavController(R.id.fragmentContainerView)
                    .navigate(R.id.action_welcomeFragment_to_interfaceScalePickFragment)
            }
        }
    }
}

我尝试在 Canary 版本中重写项目(因为最近发布版本中没有显示主机,但在 Canary 中一切正常)。

我也尝试用工作室构建的片段替换第一个片段(欢迎),重复没有动画的错误

以上是PopEnter动画在导航组件中不起作用的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>