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

BottomNavigationView高度异常求助:wrap_content设置后高度翻倍

解决BottomNavigationView高度异常(wrap_content仍为默认两倍)的方案

以下是几种直接的排查和解决思路:

1. 检查自定义文本样式的设置

你配置了app:itemTextAppearanceActive和app:itemTextAppearanceInactive,大概率是自定义的BottomNavigationView.Active/Inactive样式中,设置了过大的lineHeight、padding或textSize,导致整体高度被撑高。

打开样式定义文件,示例调整如下:

<style name="BottomNavigationView.Active" parent="TextAppearance.Material.BottomNavigationView.Active">
    <!-- 仅保留颜色、字体大小等必要属性,移除多余的padding、lineHeight设置 -->
    <item name="android:textColor">@color/active_color</item>
    <item name="android:textSize">12sp</item>
</style>

确保样式父类使用官方默认的BottomNavigationView文本样式,避免自定义属性破坏原有布局结构。

2. 强制设置默认高度

若不想排查样式问题,可直接给BottomNavigationView设置官方标准高度:

<com.google.android.material.bottomnavigation.BottomNavigationView
    android:id="@+id/bottomAppBar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize" <!-- 复用ActionBar默认高度,与BottomNavigationView标准高度一致 -->
    android:background="@color/primary"
    app:itemIconSize="20dp"
    app:itemTextAppearanceActive="@style/BottomNavigationView.Active"
    app:itemTextAppearanceInactive="@style/BottomNavigationView.Inactive"
    android:layout_alignParentBottom="true"
    app:menu="@menu/bottom_menu"/>

也可直接设置固定值56dp(Material Design中BottomNavigationView的标准高度)。

3. 检查菜单文件配置

打开@menu/bottom_menu,确认每个<item>没有设置额外的android:iconPadding或自定义actionLayout,这些配置可能导致高度异常:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/home"
        android:icon="@drawable/ic_home"
        android:title="@string/home"
        <!-- 移除类似android:iconPadding="10dp"的多余设置 -->
        />
</menu>

4. 替换背景设置方式

尝试用app:backgroundTint替代android:background设置背景色,避免自定义背景drawable带来的额外高度:

app:backgroundTint="@color/primary"
<!-- 替换原有的android:background="@color/primary" -->

内容的提问来源于stack exchange,提问作者Vivek Patel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 10:43:10