网上搜索到的大部分修改BottomNavigationView文字大小的方式,都是通过dimens.xml文件覆盖BottomNavigationView 底部导航栏默认使用的dimen来达到修改的效果,但是在新的版本中这样已经无效了。
<!--修改默认(未选中)的文字大小 -->
<dimen name="design_bottom_navigation_text_size" tools:override="true">12sp</dimen>
<!--修改选中的文字大小 -->
<dimen name="design_bottom_navigation_active_text_size" tools:override="true">16sp</dimen>
正确的修改方式如下:
res-values目录下新建一个style.xml文件,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--选中的样式,可以设置选择的字体颜色,这里只是为了改变选择时的字体大小-->
<style name="bottom_tab_title_active">
<item name="android:textSize">14sp</item>
</style>
<!--没有选中的样式,导航默认的字体大小就是12sp-->
<style name="bottom_tab_title_inactive">
<item name="android:textSize">12sp</item>
</style>
</resources>
然后在布局文件中修改BottomNavigationView的两个属性,这样就完成了文字大小的修改:
app:itemTextAppearanceActive="@style/bottom_tab_title_active" //选中时itemText使用的样式
app:itemTextAppearanceInactive="@style/bottom_tab_title_inactive" //未相中时itemText使用的样式
全部代码如下:
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_nav_view"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
app:itemTextAppearanceActive="@style/bottom_tab_title_active"
app:itemTextAppearanceInactive="@style/bottom_tab_title_inactive"
app:itemTextColor="@color/selector_bottom_nav_menu_text_color"
app:labelVisibilityMode="labeled"
app:menu="@menu/bottom_nav_menu" />