底部导航图标颜色变化

3

我正在使用BottomNavigation,当我尝试在黑色背景下更改底部导航图标颜色时,它不会改变颜色。

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

但是当我尝试将其与背景一起使用时,它会改变图标的颜色。

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

如何解决?它会随背景颜色改变图标颜色。


1
尝试使用setDefaultBackgroundColor()而不是setBackgroundColor() - not_again_stackoverflow
2个回答

4

我有另一种解决方案,如果你想尝试使用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" />

参考:图片 在此输入图片描述

这是一张关于IT技术的图片。

app:itemIconTint="@color/blue" 这个可以工作了,非常感谢 :) - Aviroxi

2
根据ahbottomnavigation库的文档,setBackgroundColor()将覆盖图标的强调颜色。请使用setDefaultBackgroundColor()替换:

 bottomNavigation.setDefaultBackgroundColor(Color.BLACK);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接