Android:BottomNavigationView第一个片段开关超级延迟

Android:BottomNavigationView第一个片段开关超级延迟,android,android-fragments,kotlin,bottomnavigationview,Android,Android Fragments,Kotlin,Bottomnavigationview,试图使用底部导航视图,android提供的标准视图。我第一次点击任何片段时,它是一个超级延迟的UI反应时间(大约2秒,直到ripple、项目选择更新和新片段显示) 这只是我第一次切换到任何片段,之后,它的行为符合预期 我在这里发现了一个类似的问题,但没有任何建议或答案 在下面找到用于切换片段的逻辑I用户 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)

试图使用底部导航视图,android提供的标准视图。我第一次点击任何片段时,它是一个超级延迟的UI反应时间(大约2秒,直到ripple、项目选择更新和新片段显示) 这只是我第一次切换到任何片段,之后,它的行为符合预期

我在这里发现了一个类似的问题,但没有任何建议或答案

在下面找到用于切换片段的逻辑I用户

 override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    bottom_nav_bar.inflateMenu(R.menu.bottom_nav_bar_menu)
    bottom_nav_bar.selectedItemId = R.id.nav_summary

    bottom_nav_bar.setOnNavigationItemSelectedListener { menuItem ->
        when (menuItem.itemId) {
            R.id.nav_1-> startFragment1()
            R.id.nav_2 -> startFragment2()
            else -> startFragment3()
        }
        true
    }
}

fun startFragment1() = replaceFragment(Fragment1(), "TAG1")

fun startFragment2() = replaceFragment(Fragment2(), "TAG2")

fun startFragment3() = replaceFragment(Fragment3(), "TAG3")

private fun replaceFragment(fragment: Fragment, fragmentTag: String) {
    fragmentManager.beginTransaction()
            .setCustomAnimations(R.animator.fade_in, R.animator.fade_out)
            .replace(R.id.fragment_container, fragment, fragmentTag)
            .commit()
}
使用

而不仅仅是普通的碎片管理器。它更平滑。当然,您必须更改为导入到v4片段,但在这之后,它应该工作得更好。在我做出改变之前,我一直在经历各种各样的怪事

使用

而不仅仅是普通的碎片管理器。它更平滑。当然,您必须更改为导入到v4片段,但在这之后,它应该工作得更好。在我做出改变之前,我一直在经历各种各样的怪事

supportfragmentmanager