android - 如何在 fragment 之间导航时消除白色闪烁/闪光?

标签 android android-layout android-fragments android-architecture-navigation android-navigation

我已经使用导航组件设置了底部导航,但是每​​当我在 fragment 之间导航时,我都会看到白色闪烁。
enter image description here

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    navController = Navigation.findNavController(this, R.id.dashboardNavHostFragment)
    bottomNavigationView.setupWithNavController(navController)
}
这就是我设置底部导航的方式。

最佳答案

setupWithNavController根据 material design guidelines 使用交叉淡入淡出动画在选项卡之间交换.交叉淡入淡出意味着前一个选项卡从完全不透明变为完全透明,而新选项卡从完全透明变为完全不透明。在此过渡的中间,两个选项卡都是半透明的。这意味着您将部分看穿它们以看到android:windowBackground。你已经开始了你的 Activity 。
在您的情况下,您似乎有一个白色 windowBackground ,这是白色闪光的来源。
您应该:

  • 更新您的 Activity 主题以使用 Dark主题,会给你一个黑暗的windowBackground默认情况下或
  • 手动更新您的主题以包含深色背景:
  •     <item name="android:windowBackground">@color/black</item>
    

    关于android - 如何在 fragment 之间导航时消除白色闪烁/闪光?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63972141/

    相关文章:

    android - 带有 Viewpager2 的关键 FragmentStateAdapter 的 fragment 不再存在

    android - 如何添加垂直滚动条以在android中查看?

    android - 如何实现类似Android Auto的截屏

    android - 我可以使用 .setVisibility(View.GONE) 还是应该只删除 View 本身?

    android - 如何将 ConstraintLayout 的子项放置在屏幕外(以便稍后可以将它们翻译到屏幕上)?

    android - 无法获取 Android View 的资源 ID

    android - 如何在纵向和横向方向上将带有 6 个按钮的线性布局居中?

    android - textView 行 - 建议

    android - 改变文字颜色

    java - ViewPager 内的 RecyclerView 位于另一个 RecyclerView 内不滚动