在片段之间导航时如何消除白色闪烁/闪光?

Rah*_*war 5 android android-layout android-fragments android-navigation android-architecture-navigation

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

在此输入图像描述

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    navController = Navigation.findNavController(this, R.id.dashboardNavHostFragment)
    bottomNavigationView.setupWithNavController(navController)
}
Run Code Online (Sandbox Code Playgroud)

这就是我设置底部导航的方式。

ian*_*ake 5

setupWithNavController根据材料设计指南,使用交叉淡入淡出动画在选项卡之间交换。交叉淡入淡出意味着前一个选项卡从完全不透明变为完全透明,而新选项卡从完全透明变为完全不透明。在此过渡的中间,两个选项卡都是半透明的。这意味着您将部分地透过它们来查看android:windowBackground您为活动设置的内容。

就您而言,您似乎有一个白色的windowBackground,这就是白色闪光的来源。

您应该:

  1. 更新您的活动主题以使用Dark主题,默认情况下会给您一个深色windowBackground

  2. 手动更新您的主题以包含深色背景:

    <item name="android:windowBackground">@color/black</item>
Run Code Online (Sandbox Code Playgroud)