菜单始终隐藏到三个点,而不是显示在操作栏中



我有一个带导航抽屉的活动。该活动包含一个包含 3 个片段的视图寻呼机。我已经成功地给菜单充气了。但是,它不是在操作栏中显示图标,而是隐藏在三个点中。

我在下面有菜单代码:

home_menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/search_menu"
        android:icon="@drawable/baseline_search_24"
        android:title="Search"
        app:showAsAction="always"
        app:actionViewClass="android.support.v7.widget.SearchView">
    </item>
</menu>

onCreateOptionsMenu(( code :

override fun onCreateOptionsMenu(menu: Menu?): Boolean {
    val inflater = MenuInflater(this)
    inflater.inflate(R.menu.home_menu, menu)
    val searchItem: MenuItem? = menu!!.findItem(R.id.search_menu)
    searchItem?.let {
        it.actionView?.let {
            val searchView: SearchView = it as SearchView
            searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
                override fun onQueryTextSubmit(p0: String?): Boolean {
                    return false
                }
                override fun onQueryTextChange(p0: String?): Boolean {
                    return false
                }
            })
        }
    }
    return true
}

怎么了?

另一个菜单文件是否会受到影响?

这是另一个菜单文件:

activity_home_drawer.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:showIn="navigation_view">
    <item
        android:id="@+id/admin_menu"
        android:visible="true"
        android:title="Admin Menu">
        <menu>
            <item
                android:id="@+id/manage_user"
                android:icon="@drawable/ic_group_gray_24dp"
                android:title="Manage User" />
            <item
                android:id="@+id/manage_schedule"
                android:icon="@drawable/baseline_calendar_today_24"
                android:title="Manage Schedule" />
        </menu>
    </item>
    <group android:checkableBehavior="single">
        <item
            android:id="@+id/nav_edit_profile"
            android:icon="@drawable/baseline_edit_24"
            android:title="Edit Profile" />
        <item
            android:id="@+id/nav_logout"
            android:icon="@drawable/baseline_exit_to_app_24"
            android:title="Logout" />
    </group>
</menu>

bottom_navigation_drawer_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/home_menu"
        android:icon="@drawable/baseline_home_24"
        android:title="Home"/>
    <item
        android:id="@+id/search_user_menu"
        android:icon="@drawable/baseline_search_24"
        android:title="Search User"/>
    <item
        android:id="@+id/schedule_request_menu"
        android:icon="@drawable/baseline_inbox_24"
        android:title="Request"/>
</menu>

如果您想显示菜单图标,请尝试此操作。

您应该将showAsAction属性添加到alwaysifRoom

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
    android:id="@+id/action_refresh"
    android:icon="@drawable/ic_refresh"
    android:showAsAction="ifRoom"
    android:title="@string/action_refresh"/>
<item
    android:id="@+id/action_filter"
    android:icon="@drawable/ic_filter"
    android:showAsAction="always"
    android:title="@string/action_filter"/>
</menu>

最新更新