既然遇到此问题,那么BottomNavigationView的作用就不多介绍了。
当图标小于等于3个时,显示的是图标加文字。
当图标大于3个时,显示图标和当前页的文字。
网上搜索使用反射的方法,修改BottomNavigationMenuView的shiftMode属性 https://www.jianshu.com/p/0ba25cc65889
遗憾的是我的代码中BottomNavigationItemView类并没有setShiftingMode方法
进入到BottomNavigationMenuView类中查看onMeasure方法,发现这个版本中判断方法已经改为isShifting
由isShifting方法可见,当labelVisibilityMode==0时或按钮数大于3则位移,那么只要将labelVisibilityMode值设置为不是0和-1就可以了。回到BottomNavigationView类,可以使用setLabelVisibilityMode方法设置labelVisibilityMode值
在Activity中修改显示方式
结果
另外补充下我的AS版本为3.3.1。build.gradle的dependencies配置
implementation 'com.android.support:design:28.0.0'
发表评论