底部应用栏不显示菜单项

MJo*_*Dev 5 android android-menu material-design

我正在使用刚刚在I / O上展示过的新材料组件。我能够创建一个底部的应用栏,但是菜单上没有显示“搜索”图标。相反,它仅在“溢出”菜单中显示。我可能做错了什么?

 <com.google.android.material.bottomappbar.BottomAppBar
        style="@style/Widget.MaterialComponents.BottomAppBar"
        android:id="@+id/bar"
        android:layout_width="match_parent"
        android:layout_height="56dp"
        android:layout_gravity="bottom"
        app:elevation="5dp"
        android:elevation="5dp"
        app:fabAttached="true"
        app:fabCradleDiameter="0dp"
        app:navigationIcon="@drawable/ic_bottom_bar_hamburger"
        app:backgroundTint="@color/colorPrimary"
        app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        app:fabAlignmentMode="center"/>

  <item
    android:id="@+id/action_settings"
    android:orderInCategory="100"
    android:title="@string/action_settings"
    android:showAsAction="never" />
<item
android:title="@string/search"
android:id="@+id/search"
android:orderInCategory="100"
android:icon="@drawable/ic_search_black_24dp"
android:showAsAction="always" />
Run Code Online (Sandbox Code Playgroud)

rav*_*avi 5

  1. 创建菜单资源目录(如果尚未创建)。右键点击res>>new>>android resource directory>>select menu in resource type
  2. 创建新的菜单文件。右键单击新创建的菜单目录,将其New Menu Resource file命名为bottom_bar_menu
  3. 将您的物品放入 bottom_bar_menu
  4. 使用app:menu="@menu/bottom_bar_menu"BottomBar的XML。

因此,您最终的xml想要:

<com.google.android.material.bottomappbar.BottomAppBar
    style="@style/Widget.MaterialComponents.BottomAppBar"
    android:id="@+id/bar"
    android:layout_width="match_parent"
    android:layout_height="56dp"
    android:layout_gravity="bottom"
    app:elevation="5dp"
    android:elevation="5dp"
    app:fabAttached="true"
    app:fabCradleDiameter="0dp"
    app:navigationIcon="@drawable/ic_bottom_bar_hamburger"
    app:backgroundTint="@color/colorPrimary"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    app:fabAlignmentMode="center"
    app:menu="@menu/bottom_bar_menu"/>
Run Code Online (Sandbox Code Playgroud)

然后在中将其res>menu>bottom_bar_menu更改showAsActionalwaysifRoom,并放置一个图标action_settings并删除orderInCategory

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/action_settings"
        android:title="@string/action_settings"
        android:showAsAction="always"
        android:icon="" />
    <item
        android:title="@string/search"
        android:id="@+id/search"
        android:icon="@drawable/ic_search_black_24dp"
        android:showAsAction="always" />
</menu>
Run Code Online (Sandbox Code Playgroud)