如您所见,我使用以下方法添加了新颜色而非标准黑色:
<item name="android:navigationBarColor">@color/colorBackground</item>
但现在几乎看不到图标,所以我想把它们变成黑色,或者至少变暗。我搜索了SO和webb但空手而归。有任何想法吗?
答案 0 :(得分:0)
您无法自行更改按钮的颜色。 但是,您可以尝试将导航栏设置为true。应该注意的是,这只能从API级别27获得。
windowLightNavigationBar 在API级别27中添加
int windowLightNavigationBar
如果设置,将绘制导航栏以使其兼容 带有灯光导航栏背景。
要使此操作生效,窗口必须绘制系统栏 windowDrawsSystemBarBackgrounds和导航的背景 酒吧一定不能要求半透明 windowTranslucentNavigation。对应设定 装饰视图上的SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR。
可以是布尔值,例如“true”或“false”。
答案 1 :(得分:0)
你可以像这样着色
将其添加到导航视图
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
app:itemIconTint="@drawable/bottom_nav_colors"
app:itemTextColor="@drawable/bottom_nav_colors"
app:menu="@menu/bottom_navigation" />
像这样定义bottom_nav_colors
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/color1" android:state_checked="true" />
<item android:color="@color/color2" />
</selector>
您可以通过更改此状态来更改代码中的颜色。
BottomNavigationView mBottomNav = findViewById(R.id.navigation);
mBottomNav.getMenu().getItem(0).setChecked(true);
或者像这样
mBottomNav.setSelectedItemId(0);