使用新的 FragmentStateManager 时不运行片段进入动画

问题描述

我有一个在其 onCreate 方法添加片段的活动

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setContentView(R.layout.activity_main)
        
        addFragment()
}


private fun addFragment() {
        with (supportFragmentManager) {
            beginTransaction()
                    .setCustomAnimations(
                            R.anim.slide_fade_in_bottom,R.anim.slide_fade_scale_out_top,R.anim.slide_fade_scale_in_top,R.anim.slide_fade_out_bottom)
                    .replace(R.id.fragment_container,BlankFragment())
                    .addToBackStack("Tag")
                    .commit()
        }
    }

我使用最新的 Fragment 版本

implementation 'androidx.fragment:fragment-ktx:1.3.2'

当我运行应用程序时,输入动画不可见。虽然如果我禁用 FragmentStateManager 那么它可以工作

FragmentManager.enableNewStateManager(false)

当我使用处理程序添加片段时它也有效

 Handler(Looper.getMainLooper()).post {
            addFragment()
 }

在这种情况下,可以启用 FragmentStateManager。

添加到 onCreate 中的片段运行输入动画的正确方法是什么?谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...