在片段之间导航时如何去除白色闪烁/闪光?
How to remove white flicker / flash while navigating between fragments?
我已经使用导航组件设置了底部导航,但是每当我在片段之间导航时,我都会看到白色的闪烁。
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
navController = Navigation.findNavController(this, R.id.dashboardNavHostFragment)
bottomNavigationView.setupWithNavController(navController)
}
这就是我设置底部导航的方式。
setupWithNavController
根据 material design guidelines 使用交叉淡入淡出动画在选项卡之间切换。交叉淡入淡出意味着前一个选项卡从完全不透明变为完全透明,而新选项卡从完全透明变为完全不透明。在此转换的中间,两个 选项卡都是semi-transparent。这意味着您将部分地透过它们看到您在 activity.
上设置的 android:windowBackground
在你的情况下,你有一个白色 windowBackground
,这是白色闪光的来源。
您应该:
更新您的 activity 主题以使用 Dark
主题,默认情况下会给您一个深色 windowBackground
或
手动更新主题以包含深色背景:
<item name="android:windowBackground">@color/black</item>
我已经使用导航组件设置了底部导航,但是每当我在片段之间导航时,我都会看到白色的闪烁。
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
navController = Navigation.findNavController(this, R.id.dashboardNavHostFragment)
bottomNavigationView.setupWithNavController(navController)
}
这就是我设置底部导航的方式。
setupWithNavController
根据 material design guidelines 使用交叉淡入淡出动画在选项卡之间切换。交叉淡入淡出意味着前一个选项卡从完全不透明变为完全透明,而新选项卡从完全透明变为完全不透明。在此转换的中间,两个 选项卡都是semi-transparent。这意味着您将部分地透过它们看到您在 activity.
android:windowBackground
在你的情况下,你有一个白色 windowBackground
,这是白色闪光的来源。
您应该:
更新您的 activity 主题以使用
Dark
主题,默认情况下会给您一个深色windowBackground
或手动更新主题以包含深色背景:
<item name="android:windowBackground">@color/black</item>