操作栏项目显示在NavigationView中,无法从操作栏中隐藏3个点

时间:2019-06-04 10:41:25

标签: android android-actionbar searchview navigationview

我在同一页面(主页)的操作栏上具有NavigationView和搜索过滤器,在操作栏上添加搜索项后,其在操作栏和导航视图(菜单)中均显示。而且我无法隐藏我不想要的操作栏右侧的3个点。找到下面的代码和屏幕截图

activity_main_drawer.xml

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

    <group android:id="@+id/grp1">
        <item
            android:id="@+id/nav_camera"
            android:icon="@drawable/theme"
            android:title="@string/nav_theme" />
    </group>

    <group android:id="@+id/grp2">
        <item
            android:id="@+id/nav_gallery"
            android:icon="@drawable/fingerprint"
            android:title="@string/nav_touchid" />
    </group>

    <group android:id="@+id/grp3">
        <item
            android:id="@+id/nav_contact"
            android:icon="@drawable/contact_us"
            android:title="@string/nav_contacts" />
    </group>
    <group android:id="@+id/grp4">
        <item
            android:id="@+id/nav_manage"
            android:icon="@drawable/notification"
            android:title="@string/nav_notifications" />
    </group>
    <group android:id="@+id/grp5">
        <item
            android:id="@+id/nav_user_guide"
            android:icon="@drawable/user_guide"
            android:title="@string/nav_userguide" />
    </group>
    <group android:id="@+id/grp6">
        <item
            android:id="@+id/nav_logout"
            android:icon="@drawable/logout"
            android:title="Log Out" />

    </group>

    <item
        android:id="@+id/action_search"
        android:icon="@drawable/searchicon"
        android:title="Search"
        app:actionViewClass="android.support.v7.widget.SearchView"
        app:showAsAction="always" />
</menu>

MainActivity.java

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main_drawer, menu);
        // Retrieve the SearchView and plug it into SearchManager
        final SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.action_search));
        SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
        searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));

enter image description here

1 个答案:

答案 0 :(得分:2)

您在导航抽屉和菜单项中使用了相同的菜单文件。

创建一个不同的菜单文件R.menu.menu_main或任何您想要的菜单项(三个点的菜单文件),它将包含SearchView。

为导航抽屉创建另一个菜单文件R.menu.menu_navigation,其中将包含“相机”,“图库”,“联系人”,“连接”项,然后将此菜单文件附加到导航抽屉。