我已经使用图像作为图标,但我不希望他们看起来灰色的时候,他们没有被选中。它应该看上去和图片一样,不管它是否活动。我该怎么办?
com.google.android.material.bottomnavigation.BottomNavigationView谢谢

发布于 2021-03-03 13:39:40
尝试在BottomNavigationView部件的XML文件中使用此方法。
app:itemIconTint="null"或者将其添加到您的java文件中,在定义BottomNavigationView之后(使用findViewById)
//Replace BottomNavView with your nav bar id
BottomNavView.setItemIconTintList(null);发布于 2021-03-03 13:22:53
要达到这个目标还有很长的路要走
mBottomNav.setItemIconTintList(null);那你自己来设计吧。别忘了把按钮按点击和不点击分开。
示例Button XML
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!--Clicked-->
<item android:drawable="@drawable/homeclicked" android:state_checked="true" />
<!--Not Clicked-->
<item android:drawable="@drawable/homenotclicked" android:state_checked="false" />
</selector>并将它们添加到视图中:示例bottom_navigation.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/homebuttons"
android:icon="@drawable/homebuttonxml />
<!--Other Buttons...-->
</menu>最后,将视图链接到底部导航视图。
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigationView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:labelVisibilityMode="unlabeled"
app:elevation="0dp"
app:menu="@menu/bottom_navigation">
</com.google.android.material.bottomnavigation.BottomNavigationView>发布于 2021-03-03 14:38:02
未选定项使用的默认颜色是基于colorOnSurface颜色的。
只需使用:
<com.google.android.material.bottomnavigation.BottomNavigationView
android:theme="@style/BottomNavigationViewThemeOverlay"
.... />通过以下方式:
<style name="BottomNavigationViewThemeOverlay">
<item name="colorOnSurface">@color/...</item>
</style>

否则,可以定义自定义选择器:
<com.google.android.material.bottomnavigation.BottomNavigationView
app:itemIconTint="@color/bottomnavicontint"
../>通过以下方式:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:alpha="1.0" android:color="?attr/colorPrimary" android:state_checked="true"/>
<item android:alpha="0.6" android:color="@color/..."/>. <!-- not selected -->
</selector>https://stackoverflow.com/questions/66457818
复制相似问题