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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android:BottomNavigationView第一个片段开关超级延迟相关的知识,希望对你有一定的参考价值。

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

我在这里已经发现了一个类似的问题,但没有任何建议或答案。 See that post here

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

 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()
}
答案

使用

supportfragmentmanager

而不仅仅是普通的FragmentManager。它更顺畅。当然你必须更改为v4 Fragment的导入,但之后它应该更好。在我做这个转换之前,我发生了各种各样奇怪的事情。

以上是关于Android:BottomNavigationView第一个片段开关超级延迟的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )

android 21 是啥版本

Android逆向-Android基础逆向(2-2)

【Android笔记】android Toast

图解Android - Android核心机制

Android游戏开发大全的目录