添加菜单项后,Android Studio底部导航视图消失

时间:2018-03-29 03:53:58

标签: android android-layout android-studio material-design navbar

我已经制作了菜单和底部导航视图及其菜单但是当我添加app:menu" @ menu / bottom_navigation_menu"当我尝试运行时,整个Bar消失了,应用程序崩溃了。

活动主要似乎正确实施:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    tools:context="com.troy.connor.lightswitch.MainActivity">

    <FrameLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">


    </FrameLayout>

    <android.support.design.widget.BottomNavigationView
        android:id="@+id/bottom_nav_bar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:background="@color/colorPrimary"
        app:itemIconTint="@color/white"
        app:itemTextColor="@color/white"
        app:menu="@menu/bottom_navigation_menu"/>


</LinearLayout>

以及菜单项:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:id="@+id/buttonSlider"
        android:icon="@drawable/ic_slider"
        android:title="Sliders"
        />
    <item
        android:id="@+id/buttonPalette"
        android:icon="@drawable/ic_palette"
        android:title="Palette"
        />
    <item
        android:id="@+id/buttonShuffle"
        android:icon="@drawable/ic_shuffle"
        android:title="Shuffle"
        />
    <item
        android:id="@+id/buttonSchedule"
        android:icon="@drawable/ic_alarm_off"
        android:title="Schedule"
        />
    <item
        android:id="@+id/buttonConnect"
        android:icon="@drawable/ic_bt_off"
        android:title="Connect"
        />
    <item
        android:id="@+id/buttonStats"
        android:icon="@drawable/ic_timeline"
        android:title="Statistics"
        />
</menu>

1 个答案:

答案 0 :(得分:0)

如果你检查崩溃的堆栈跟踪,你会发现:

03-29 00:08:30.568  9850  9850 E AndroidRuntime:
    Caused by: java.lang.IllegalArgumentException:
    Maximum number of items supported by BottomNavigationView is 5.
    Limit can be checked with BottomNavigationView#getMaxItemCount()

的确,如果你查看the documentation for BottomNavigationView,你会发现:

  

当应用程序有三到五个顶级目标时,应该使用它。

解决方案很简单:删除一个菜单项。如果这不适合您,则必须创建自己的底部导航实施,而不是使用BottomNavigationView