Android Navigation view: Scroll the menu items only issue -
i want scroll menu items of navigation view scroll header it. please body tell me how achieve this... here code:
activity_main.xml
<android.support.v4.widget.drawerlayout xmlns:android="http://schemas.android.com/apk/res/android" ....... <android.support.design.widget.navigationview android:id="@+id/navigation_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" app:headerlayout="@layout/header" app:menu="@menu/drawer" /> </android.support.v4.widget.drawerlayout>
header.xml
<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="190dp" android:background="@drawable/background_material" android:orientation="vertical" > <de.hdodenhof.circleimageview.circleimageview xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/profile_image" android:layout_width="76dp" android:layout_height="76dp" android:layout_alignparentleft="true" android:layout_alignparentstart="true" android:layout_centervertical="true" android:layout_marginleft="24dp" android:layout_marginstart="24dp" android:src="@mipmap/ic_launcher" app:border_color="#ff000000" / </relativelayout>
drawer_menu_items.xml
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkablebehavior="single"> <item android:id="@+id/inbox" android:checked="false" android:icon="@drawable/ic_inbox_black" android:title="@string/inbox_string" /> <item android:id="@+id/starred" android:checked="false" android:icon="@drawable/ic_star_black" android:title="@string/starred_string" /> <item android:id="@+id/sent_mail" android:checked="false" android:icon="@drawable/ic_send_black" android:title="@string/sent_mail_string" /> <item android:id="@+id/drafts" android:checked="false" android:icon="@drawable/ic_drafts_black" android:title="@string/draft_string" /> <item android:id="@+id/allmail" android:checked="false" android:icon="@drawable/ic_email_black" android:title="@string/all_mail_string" /> <item android:id="@+id/trash" android:checked="false" android:icon="@drawable/ic_delete_black" android:title="@string/trash_string" /> <item android:id="@+id/spam" android:checked="false" android:icon="@drawable/ic_error_black" android:title="@string/spam_string" /> <item android:id="@+id/abc" android:checked="false" android:icon="@android:drawable/ic_menu_camera" android:title="camera" /> <item android:id="@+id/abcd" android:checked="false" android:icon="@android:drawable/ic_menu_call" android:title="call" /> <item android:id="@+id/abcde" android:checked="false" android:icon="@android:drawable/ic_menu_gallery" android:title="gallery" /> <item android:checked="false" android:icon="@android:drawable/ic_menu_gallery" android:title="gallery" /> <item android:checked="false" android:icon="@android:drawable/ic_menu_compass" android:title="compass" /> <item android:checked="false" android:icon="@android:drawable/ic_menu_myplaces" android:title="my places" /> </group> </menu>
how can scroll menu item not header... i've attached pictures too...
you should able place header outside of navigationview
, so:
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.drawerlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" <!-- nav drawer --> <framelayout android:layout_width="wrap_content" android:layout_height="match_parent" > <!-- header --> <relativelayout android:layout_width="match_parent" android:layout_height="190dp" android:background="@drawable/background_material" android:orientation="vertical" > <de.hdodenhof.circleimageview.circleimageview android:id="@+id/profile_image" android:layout_width="76dp" android:layout_height="76dp" android:layout_alignparentleft="true" android:layout_alignparentstart="true" android:layout_centervertical="true" android:layout_marginleft="24dp" android:layout_marginstart="24dp" android:src="@mipmap/ic_launcher" app:border_color="#ff000000" /> </relativelayout> <!-- menu --> <android.support.design.widget.navigationview android:id="@+id/navigation_view" android:layout_width="wrap_content" android:layout_height="0px" android:layout_weight="1" android:layout_gravity="start" app:menu="@menu/drawer" /> </framelayout> </android.support.v4.widget.drawerlayout>
note: i've added framelayout
encapsulate in single view drawerlayout
, adjusted navigationview's height automatically use available space below header, , have removed headerlayout
attribute.
Comments
Post a Comment