在学习使用DrawerLayout和BottomNavigationView时,同时操作主界面Activity中的fragment时,BottomNavigationView的点击效果会影响实际效果,例如在底部导航栏位于中间选中时,点击侧边导航栏切换fragment,导航栏的选中效果不改变,因为没有找到联动更改的方法,索性偷懒,不如去除BottomNavigationView的点击效果
1.设置图标的颜色,将点击前后的颜色设置成相同的
首先在drawable下新建一个bottomnavviewcolor.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="#199489"/>
<item android:state_checked="false" android:color="#199489"/>
</selector>
然后再BottomNavigationView的布局文件中加入
app:itemIconTint="@drawable/bottomnavviewcolor"
2.修改item的点击前后的大小
BottomNavigationView navView = findViewById(R.id.nav_view);
navView.setItemTextAppearanceActive(R.style.bottom_selected_text);
navView.setItemTextAppearanceInactive(R.style.bottom_normal_text);
然后在styles.xml中添加代码
<style name="bottom_normal_text">
<item name="android:textColor">#000</item>
<item name="android:textSize">14sp</item>
</style>
<!--选中的样式-->
<style name="bottom_selected_text">
<item name="android:textColor">#000</item>
<item name="android:textSize">14sp</item>
</style>
至此,底部导航栏的点击效果被去除,假装实现了自己的需求23333