点击 BottomNavigationView 才显示的项目

4

我希望在屏幕底部有一个导航栏,包含4个项目,但由于某种原因,只有第一个显示出来了,其它的只有在点击后才会出现。

<com.google.android.material.bottomnavigation.BottomNavigationView
    android:id="@+id/bottom_navigation"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:background="@color/white"
    app:itemTextColor="@color/black"
    app:menu="@menu/navigation_bar_bottom_menu" />

我的菜单:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:id="@+id/nav_home"
    android:title="@string/navigation_bar_home_text" />

<item
    android:id="@+id/nav_inbox"
    android:title="@string/navigation_bar_inbox_text" />

<item
    android:id="@+id/nav_notes"
    android:title="@string/navigation_bar_notes_text" />

<item
    android:id="@+id/nav_profile"
    android:title="@string/navigation_bar_profile_text" />

</menu>

这个条形菜单只显示第一项,如下图所示:

enter image description here


我认为你可以设置 visibility:gone,并在点击时将其更改为 visibility:visible - Amir133
2个回答

7
     <android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        android:background="@color/gray_background"
        app:itemIconTint="@color/nav_item_state_list"
        app:itemTextColor="@color/nav_item_state_list"
        app:labelVisibilityMode="labeled"
        android:theme="@style/Widget.BottomNavigationView"
        app:menu="@menu/bottom_navigation_items"/>



<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/colorPrimaryLite"
          android:state_pressed="true"/>
    <item android:color="@color/colorPrimaryLite"
          android:state_checked="true"/>
    <item android:color="@color/grayDark"
          android:state_checked="false"/>
    <item android:color="@color/white"/>
</selector>

2
添加了 app:labelVisibilityMode="labeled" 后,它就可以工作了。非常感谢。 - alexC

0

这是一个例子

创建一个颜色文件 navigation_item_text_color.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:color="@color/black" />
    <item android:color="@android:color/darker_gray"  />
</selector>

然后将其放入color文件夹中(如果您没有color文件夹 ->请手动创建)

然后

<com.google.android.material.bottomnavigation.BottomNavigationView
    ...
    app:itemTextColor="@color/navigation_item_text_color" />

更多

如果您的底部菜单项带有图标,您可以像下面这样更改图标颜色: app:itemIconTint="@color/navigation_item_text_color"


我已经尝试过了,但出于某些原因它仍然无法工作 :( - alexC
我这里有一个小的演示,你可以在https://github.com/PhanVanLinh/AndroidBottomNavigationView上查看。 - Linh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接