使用NavigationView的Searchview

时间:2015-10-20 08:10:28

标签: android navigation-drawer searchview navigationview

我正在使用Searchview而没有操作栏(它直接进入菜单)。但是我想添加一个NavigationView。问题是我无法在ActionBar中看到汉堡图标(因为我没有),我的SearchView也出现在NavigationView中(因为它在menu.xml中)。 这是我的menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group android:checkableBehavior="single">
    <item
        android:id="@+id/search_nav"
        android:checked="true"
        android:icon="@drawable/search"
        android:title="Search" />

    <item
        android:id="@+id/favs_nav"
        android:checked="false"
        android:icon="@drawable/favorites"
        android:title="Favorites" />
</group>
<item
    android:id="@+id/search"
    android:icon="@drawable/search"
    android:title="search_title"
    app:actionViewClass="android.widget.SearchView"
    app:showAsAction="always" />

activity_main.xml

  <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

<LinearLayout
    android:layout_width="match_parent"
    android:id="@+id/main_activity"
    android:layout_height="match_parent">


    <android.support.v7.widget.RecyclerView
        android:id="@+id/cardList"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />

</LinearLayout>
    <android.support.design.widget.NavigationView
        android:id="@+id/nav"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="left"
        android:background="#dcdcdc"
        app:headerLayout="@layout/drawer_header"
        app:itemTextColor="@color/black"
        app:menu="@menu/menu_main" />

</android.support.v4.widget.DrawerLayout>

MainActivity的一部分:

@Override
public boolean onNavigationItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.search_nav:
            Toast.makeText(this, "selected all", Toast.LENGTH_SHORT).show();
            drawerLayout.closeDrawers();
            return true;

        case R.id.favs_nav:
            Toast.makeText(this, "selected movies", Toast.LENGTH_SHORT).show();
            drawerLayout.closeDrawers();
            return true;


    }
    return true;
}

0 个答案:

没有答案