Android 底部导航不显示原始颜色
我为我的应用程序设计了一个底部导航视图。这个想法很简单,绿色的底部栏将有白色的图标。我为此编写了一个选择器Android 底部导航不显示原始颜色,android,android-xml,android-bottomnav,android-bottomnavigationview,Android,Android Xml,Android Bottomnav,Android Bottomnavigationview,我为我的应用程序设计了一个底部导航视图。这个想法很简单,绿色的底部栏将有白色的图标。我为此编写了一个选择器 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="false" android:color="@android:colo
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="false" android:color="@android:color/white" />
<item android:color="@android:color/holo_blue_dark" />
</selector>
它可以工作,它改变了图标的颜色,但它不能使它完全变成白色,颜色看起来是灰色的。
我也试过
,但它也不起作用。我添加了下面的图片,让您看到不同之处
请提供帮助您应该使用所选状态
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
android:color="@color/color1" />
<item android:color="@color/color2" />
</selector>
app:itemIconTint=“@color/navigate\u state”
如果使用com.google.android.material中的BottomNavigationView,则应特别为图标和文本指定颜色,例如:
<com.google.android.material.bottomnavigation.BottomNavigationView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/background"
app:itemIconTint="@color/bottom_bar_icon_tint"
app:itemTextColor="@color/bottom_bar_icon_tint"
app:menu="@menu/navigation_menu" />
和底部_bar _icon _tint.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="@color/white" />
<item android:color="@color/cool_grey" />
</selector>
还要注意:android:state_checked=“true”如果您希望您的图标具有相同的默认颜色,请在活动中使用此颜色
bottomNavigation.setItemIconTintList(null);
您的xml文件似乎具有alpha通道/透明度 您需要将“android:alpha”参数更改为“1.0”,或者在icon.xml中将其删除
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="@color/white"
android:alpha="0.8">
<path
android:fillColor="@color/white"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM6.5,17.5l7.51,-3.49L17.5,6.5 9.99,9.99 6.5,17.5zM12,10.9c0.61,0 1.1,0.49 1.1,1.1s-0.49,1.1 -1.1,1.1 -1.1,-0.49 -1.1,-1.1 0.49,-1.1 1.1,-1.1z"/>
检查我的完整问题。我提到我也尝试过这个。没有lucki已经使用过选择器。你的选择器在哪里。我看到你的问题了。选择器必须在颜色文件夹中。我知道,它只在颜色文件夹中。如果它是选择器中的错误,那么它将根本无法工作。目前它显示的是暗淡的颜色,因此您可以检查底部导航视图。你用什么款式吗?我用了。。它不起作用。您可以看到它正在将颜色更改为白色,但白色一点也不脆。它看起来像一个覆盖。如果你把白色换成另一种颜色会怎么样?从colors.xml
而不是从android资源中尝试一些自己的颜色。我尝试了。。它不起作用。您可以看到它正在将颜色更改为白色,但白色一点也不脆。它看起来像一个覆盖层。
bottomNavigation.setItemIconTintList(null);
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="@color/white"
android:alpha="0.8">
<path
android:fillColor="@color/white"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM6.5,17.5l7.51,-3.49L17.5,6.5 9.99,9.99 6.5,17.5zM12,10.9c0.61,0 1.1,0.49 1.1,1.1s-0.49,1.1 -1.1,1.1 -1.1,-0.49 -1.1,-1.1 0.49,-1.1 1.1,-1.1z"/>