【发布时间】:2020-01-31 02:48:24
【问题描述】:
我有一个底部导航视图,它根据状态设置一个图标,如果它被选中。
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/icon_tree"
android:title="Tree"
android:icon="@drawable/bottomnav_icon_home">
</item>
</menu>
bottomnav_icon_home:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/icon_home_black" android:state_checked="false"/>
<item android:drawable="@drawable/icon_home_green" android:state_checked="true"/>
</selector>
当 android:state_checked 为 true 时,bottomnavigation 如何自动突出显示图标。
如何完全禁用底部导航的图标选择突出显示?
我尝试将app:itemIconTint="@drawable/bottom_navigation_selector" 设置为@null,但这不起作用
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:menu="@menu/bottom_navigation_menu"
android:background="@color/colorWhite"
app:itemTextColor="@drawable/bottom_navigation_selector"
app:itemIconSize="28dp"
app:itemIconTint="@drawable/bottom_navigation_selector"
app:labelVisibilityMode="labeled"/>
bottom_navigation_selector:
<?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/forestGreen" />
<item android:color="@color/colorBlack" />
</selector>
【问题讨论】:
-
为什么不为两种状态使用相同的颜色?
-
什么意思?我有两个我想要的图标状态。一种是黑色高光,里面是白色,一种是黑色高光,里面是绿色。对两种状态使用相同的颜色会产生这种结果吗?
-
将它们都设置为黑色会删除绿色i.imgur.com/8ClmMSD.png
-
尝试创建新样式,看看高亮是否仍然有效
-
如何完全禁用底部导航的图标选择突出显示是什么意思?
标签: android android-bottomnavigationview