修改BottomNavigationView的Item超过3个时的动画效果

今天在做项目,使用BottomNavigationView添加多个item,当item超过三个的时候title文字被隐藏,只有选中的时候才会显示,这不符合项目的设计需求,遂寻求方法做修改。

百度谷歌一番后发现基本都是使用下面这个反射的方法去掉动画效果:

然后我也按照这个方法来处理,发现 item.setShiftingMode(false);报错了,然后搜索shift发现这个方法item.setShifting(false);运行,然而并没有任何效果。

然后我发现我的design和v7包的版本较高:

好吧,那就继续找,最后在国外的网站上找到了答案:

As Jolanda Verhoef pointed out the new Support library (28.0.1-alpha1) and also the new Material Components library (1.0.0-beta01) offers a public property which can be used to manipulate the shifting mode over 3 menu items.

在你的BottomNavigationView布局下,labelVisibilityMode有多个动画选项,可根据需求修改:

估计是在高版本提供了多个动画的选项,修改更加便捷,低版本的可继续使用之前的反射方法修改!

参考问题链接:https://stackoverflow.com/questions/40176244/how-to-disable-bottomnavigationview-shift-mode

 

希望可以给大家提供帮助,喜欢的可以点个关注哦!