【问题标题】:How to set BottomNavigationBar equal spacing between menu items?如何设置 BottomNavigationBar 菜单项之间的等间距?
【发布时间】:2019-05-21 02:10:06
【问题描述】:

我有一个 android 应用程序,其底部导航栏处于横向模式,有四个菜单项。这些项目在中间被捆绑在一起,如下所示:

我想让它们像这样均匀地分布在导航栏上:

如何完成这种格式化?

以上示例图片来自material.io 文档

我的 xml:

<android.support.design.widget.BottomNavigationView
    android:id="@+id/navigation"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginEnd="0dp"
    android:layout_marginStart="0dp"
    android:background="?android:attr/windowBackground"
    android:layout_alignParentBottom="true"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:menu="@menu/navigation"
    app:labelVisibilityMode="labeled" />

我希望我的图标分布在整个栏上,包括用红色注释的空间:

【问题讨论】:

    标签: android android-layout material-design


    【解决方案1】:

    为底部导航视图设置此属性:

    app:labelVisibilityMode="labeled"
    

    【讨论】:

    • 你知道用 com.android.support:design 代替 com.google.android.material 的解决方案吗?看起来 support:design 库不包含这个 xml 属性 developer.android.com/reference/android/support/design/widget/…
    • 此属性适用于android.support.design.widget.BottomNavigationView
    • 我的理解是,Material Components 库存在可以让您执行 material.io 设计文档中显示的内容。在这一点上,支持设计库已经过时了几代。
    • @forpas 文档中显示的 android.support.design.widget.BottomNavigationView 的唯一 xml 属性是 BottomNavigationView_itemBackground BottomNavigationView_itemIconTint BottomNavigationView_itemTextColor
    • 你在 gradle 中有这行吗:implementation 'com.android.support:design:28.0.0'
    【解决方案2】:

    你必须使用

     android:fitsSystemWindows="true"
    

    【讨论】:

    • 此代码无效
    猜你喜欢
    • 1970-01-01
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 2013-10-15
    • 2022-11-12
    • 1970-01-01
    • 2016-07-23
    • 2010-11-15
    相关资源
    最近更新 更多