Java 底部导航图标颜色更改

Java 底部导航图标颜色更改,java,android,xml,navigation,navigation-drawer,Java,Android,Xml,Navigation,Navigation Drawer,当我试图用黑色背景更改底部导航图标的颜色时,我使用的是底部导航,而不是更改颜色 bottomNavigation.setAccentColor(Color.parseColor("#FFE4770A")); bottomNavigation.setInactiveColor(Color.WHITE); bottomNavigation.setBackgroundColor(Color.BLACK); 但当我尝试使用背景时,它会改变图标的颜色 bottomNavigation.setAc

当我试图用黑色背景更改底部导航图标的颜色时,我使用的是底部导航,而不是更改颜色

 bottomNavigation.setAccentColor(Color.parseColor("#FFE4770A"));
 bottomNavigation.setInactiveColor(Color.WHITE);
 bottomNavigation.setBackgroundColor(Color.BLACK);
但当我尝试使用背景时,它会改变图标的颜色

 bottomNavigation.setAccentColor(Color.parseColor("#FFE4770A"));
 bottomNavigation.setInactiveColor(Color.WHITE);

你怎么修理它?它会随颜色背景更改图标颜色。

根据repo的文档,
setBackgroundColor()
将覆盖图标的强调颜色

setBackgroundColor()
替换为
setDefaultBackgroundColor()

 bottomNavigation.setDefaultBackgroundColor(Color.BLACK);

我有另一个解决方案,如果你想尝试XML

app:itemBackground=“@color/white”-->这可以用于显示底部栏的颜色 app:itemIconTint=“@color/blue”-->这可用于更改图标的颜色 app:itemTextColor=“@color/blue”-->这可用于更改图标底部文本颜色

XML源代码如下所示

<android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="0dp"
        android:layout_marginStart="0dp"
        app:itemBackground="@color/white"
        app:itemIconTint="@color/blue" 
        app:itemTextColor="@color/blue" 
        app:menu="@menu/navigation" />

尝试使用
setDefaultBackgroundColor()
而不是
setBackgroundColor()
app:itemIconTint=“@color/blue”这很有效,非常感谢:)