发生片段加载闪烁时带有导航组件的底部导航

Bottom navigation with navigation component when fragment load flickering happens

我目前正在使用带导航组件的底部导航,它工作正常,但是当我们点击正在加载的导航项目片段时,就会发生闪烁,即使选择了当前项目也会发生闪烁。它在加载片段时发生。我的应用程序屏幕背景不是白色当它是白色时不显示闪烁我已经尝试了所有可用的解决方案。

我更改了 google 导航示例应用程序的背景颜色,然后我也能看到闪烁。

如果有人有任何解决方案,请在此处post。

我找到了我的问题的解决方案我有闪烁,因为我的背景颜色是黑色如果我将它更改为白色我没有任何闪烁我通过添加波纹管来更新主题。

    <item name="android:windowBackground">#000000</item>
    <item name="android:colorBackground">#000000</item>

通过添加这些行,我避免了闪烁问题。

出现闪烁是因为底部导航使用的默认交叉淡入淡出动画。您可以通过在 res\animator 包中创建以下文件来覆盖动画。

nav_default_enter_anim.xml
nav_default_exit_anim.xml
nav_default_pop_enter_anim.xml
nav_default_pop_exit_anim.xml

这应该是那些文件的内容。

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Overwrite the default animation. -->
</set>