You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Support库BottomNavigationView多版本显示异常(文字过大)求助

修复BottomNavigationView文字尺寸异常问题

嘿,这个坑我之前踩过!你遇到的文字尺寸在多数设备上异常巨大的问题,根源是直接在主题里设置android:textSize的方式不对,Android Support库的BottomNavigationView有自己的文本样式规范,全局设置会打破它的适配逻辑。

问题分析

你当前的mydrawer主题直接设置了android:textSize,这会强制覆盖BottomNavigationView内部的文本大小规则,但这个规则在不同Android版本上的默认表现不一样——Android 6可能刚好兼容,但其他版本就会出现文字膨胀的问题。

正确解决方案

我们需要使用BottomNavigationView专属的文本样式属性,而不是全局的android:textSize,具体步骤如下:

  1. 创建针对BottomNavigationView的文本样式
    在你的styles.xml里定义两个样式(分别对应激活和未激活状态的菜单项文字):
<!-- 激活状态的文字样式 -->
<style name="BottomNavTextActive" parent="@style/TextAppearance.Design.BottomNavigation.Active">
    <item name="android:textSize">14sp</item>
</style>

<!-- 未激活状态的文字样式 -->
<style name="BottomNavTextInactive" parent="@style/TextAppearance.Design.BottomNavigation.Inactive">
    <item name="android:textSize">14sp</item>
</style>

这里继承Support库提供的默认样式,只修改我们需要的textSize,保留其他默认适配逻辑。

  1. 修改BottomNavigationView的布局代码
    移除原来的app:theme="@style/mydrawer",替换成专属的文本样式属性:
<android.support.design.widget.BottomNavigationView
    android:id="@+id/navigation"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:background="#fff"
    app:itemIconTint="@drawable/selector"
    app:itemTextColor="@drawable/selector"
    app:itemTextAppearanceActive="@style/BottomNavTextActive"
    app:itemTextAppearanceInactive="@style/BottomNavTextInactive"
    app:menu="@menu/bottom_navigation_items" />

可选优化:用主题统一管理

如果你想把这些样式封装到主题里,也可以创建一个专门的BottomNavigationView主题:

<style name="MyBottomNavTheme" parent="Theme.Design.Light.BottomNavigationView">
    <item name="textAppearanceActive">@style/BottomNavTextActive</item>
    <item name="textAppearanceInactive">@style/BottomNavTextInactive</item>
</style>

然后在布局里引用这个主题:

app:theme="@style/MyBottomNavTheme"

这样修改后,BottomNavigationView会遵循Support库的适配规则,在所有Android版本上都能正常显示14sp的文字大小啦~

内容的提问来源于stack exchange,提问作者j jones

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:43:21