Android 底部导航视图项的放置宽度不相等

Android 底部导航视图项的放置宽度不相等,android,bottomnavigationview,Android,Bottomnavigationview,我正在使用BottomNavigationView。似乎一切都很好,但我有一个问题,即项目并没有以相同的宽度放置 <android.support.design.widget.BottomNavigationView android:id="@+id/bottomBar" android:layout_width="match_parent" android:layout_height="wrap_content" andro

我正在使用BottomNavigationView。似乎一切都很好,但我有一个问题,即项目并没有以相同的宽度放置

<android.support.design.widget.BottomNavigationView
        android:id="@+id/bottomBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:background="@color/colorPrimary"
        android:layout_alignParentBottom="true"
        app:itemBackground="@color/colorPrimary"
        app:itemIconTint="@color/bottom_nav_color"
        app:itemTextColor="@color/bottom_nav_color"
        app:menu="@menu/bottombar_tabs_new"></android.support.design.widget.BottomNavigationView>

因此,先进的帮助将不胜感激

使用这条线

app:labelVisibilityMode="labeled"
取消换档模式

@SuppressLint("RestrictedApi")
private fun removeShiftMode(view: BottomNavigationView) {
   val menuView = view.getChildAt(0) as BottomNavigationMenuView
   try {
   val shiftingMode = menuView.javaClass.getDeclaredField("mShiftingMode")
   shiftingMode.isAccessible = true
   shiftingMode.setBoolean(menuView, false)
   shiftingMode.isAccessible = false
   for (i in 0 until menuView.childCount) {
     val item = menuView.getChildAt(i) as BottomNavigationItemView
     item.setShiftingMode(false)
     item.setChecked(item.itemData.isChecked)
   }
   } catch (e: NoSuchFieldException) {
   Log.e("NoSuchFieldException", "Unable to get shift mode field")
   } catch (e: IllegalAccessException) {
   Log.e("IllegalAccessException", "Unable to change value of shift mode")
}

}

检查此项:app:labelVisibilityMode=“label”未找到您需要将您的
依赖项更新为
28.0.0-alpha1
,但它仍然表示在更新后,您的
依赖项将有问题地显示出来。现在我们不需要使用上述代码,我们只需使用
app:labelVisibilityMode=“label”
要禁用换档效果模式谢谢,我也会在我的应用程序中使用
@SuppressLint("RestrictedApi")
private fun removeShiftMode(view: BottomNavigationView) {
   val menuView = view.getChildAt(0) as BottomNavigationMenuView
   try {
   val shiftingMode = menuView.javaClass.getDeclaredField("mShiftingMode")
   shiftingMode.isAccessible = true
   shiftingMode.setBoolean(menuView, false)
   shiftingMode.isAccessible = false
   for (i in 0 until menuView.childCount) {
     val item = menuView.getChildAt(i) as BottomNavigationItemView
     item.setShiftingMode(false)
     item.setChecked(item.itemData.isChecked)
   }
   } catch (e: NoSuchFieldException) {
   Log.e("NoSuchFieldException", "Unable to get shift mode field")
   } catch (e: IllegalAccessException) {
   Log.e("IllegalAccessException", "Unable to change value of shift mode")
}

}