Android Design Support Library Secondary Drawer Menu -


i've switched official google design support library. now, want use secondary menu divider this:

secondary menu screenshot

but android using menu inflater have no idea now. can add second group, items have same size , there no divider.

drawer.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/overview"             android:checked="true"             android:icon="@drawable/ic_action_dashboard"             android:title="@string/drawer_overview" />          <item             android:id="@+id/social_evening"             android:checked="false"             android:icon="@drawable/ic_action_brightness_3"             android:title="@string/drawer_social_evening" />          <item             android:id="@+id/scouting_games"             android:checked="false"             android:icon="@drawable/ic_action_landscape"             android:title="@string/drawer_scouting_games" />          <item             android:id="@+id/olympics"             android:checked="false"             android:icon="@drawable/ic_action_stars"             android:title="@string/drawer_olympics" />           <item             android:id="@+id/quizzes"             android:checked="false"             android:icon="@drawable/ic_action_school"             android:title="@string/drawer_quizzes" />      </group> </menu> 

mainactivity.java:

package net.sutomaji.freizeitspiele;  import android.os.bundle; import android.support.design.widget.navigationview; import android.support.v4.app.fragmenttransaction; import android.support.v4.widget.drawerlayout; import android.support.v7.app.actionbardrawertoggle; import android.support.v7.app.appcompatactivity; import android.support.v7.widget.toolbar; import android.view.menu; import android.view.menuitem; import android.view.view; import android.widget.toast;  /**  * created tom schneider on 18.06.15  */  public class mainactivity extends appcompatactivity {      //defining variables     private toolbar toolbar;     private navigationview navigationview;     private drawerlayout drawerlayout;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);          // initializing toolbar , setting actionbar         toolbar = (toolbar) findviewbyid(r.id.toolbar);         setsupportactionbar(toolbar);          //initializing navigationview         navigationview = (navigationview) findviewbyid(r.id.navigation_view);          //setting navigation view item selected listener handle item click of navigation menu         navigationview.setnavigationitemselectedlistener(new navigationview.onnavigationitemselectedlistener() {              // method trigger on item click of navigation menu             @override             public boolean onnavigationitemselected(menuitem menuitem) {                   //checking if item in checked state or not, if not make in checked state                 if(menuitem.ischecked()) menuitem.setchecked(false);                 else menuitem.setchecked(true);q                  //closing drawer on item click                 drawerlayout.closedrawers();                  //check see item being clicked , perform appropriate action                 switch (menuitem.getitemid()){                       //replacing main content contentfragment our inbox view;                     case r.id.overview:                         toast.maketext(getapplicationcontext(), "overview selected", toast.length_short).show();                         contentfragment fragment = new contentfragment();                         fragmenttransaction fragmenttransaction = getsupportfragmentmanager().begintransaction();                         fragmenttransaction.replace(r.id.frame,fragment);                         fragmenttransaction.commit();                         return true;                      // rest of options show toast on click                      case r.id.social_evening:                         toast.maketext(getapplicationcontext(),"se selected",toast.length_short).show();                         return true;                     case r.id.scouting_games:                         toast.maketext(getapplicationcontext(),"sg selected",toast.length_short).show();                         return true;                     case r.id.olympics:                         toast.maketext(getapplicationcontext(),"ol selected",toast.length_short).show();                         return true;                     case r.id.quizzes:                         toast.maketext(getapplicationcontext(),"qz selected",toast.length_short).show();                         return true;                     default:                         toast.maketext(getapplicationcontext(),"somethings wrong",toast.length_short).show();                         return true;                  }             }         });          // initializing drawer layout , actionbartoggle         drawerlayout = (drawerlayout) findviewbyid(r.id.drawer);         actionbardrawertoggle actionbardrawertoggle = new actionbardrawertoggle(this,drawerlayout,toolbar,r.string.opendrawer, r.string.closedrawer){              @override             public void ondrawerclosed(view drawerview) {                 // code here triggered once drawer closes dont want happen leave blank                 super.ondrawerclosed(drawerview);             }              @override             public void ondraweropened(view drawerview) {                 // code here triggered once drawer open dont want happen leave blank                  super.ondraweropened(drawerview);             }         };          //setting actionbartoggle drawer layout         drawerlayout.setdrawerlistener(actionbardrawertoggle);          //calling sync state necessay or else hamburger icon wont show         actionbardrawertoggle.syncstate();           }      @override     public boolean oncreateoptionsmenu(menu menu) {         // inflate menu; adds items action bar if present.         getmenuinflater().inflate(r.menu.menu_main, menu);         return true;     }      @override     public boolean onoptionsitemselected(menuitem item) {         // handle action bar item clicks here. action bar         // automatically handle clicks on home/up button, long         // specify parent activity in androidmanifest.xml.         int id = item.getitemid();          //noinspection simplifiableifstatement         if (id == r.id.action_settings) {             return true;         }          return super.onoptionsitemselected(item);     } } 

so, how can create menu this, or how can add dividers (with category headers) navigation drawer?

you can use standard navigationview defining menu this:

<menu xmlns:android="http://schemas.android.com/apk/res/android">      <group android:id="@+id/group1" android:checkablebehavior="single" id>        //items of group1     </group>      <group android:id="@+id/group2" android:checkablebehavior="single" id>        //items of group2     </group> 

it important give unique id each group.


Comments

Popular posts from this blog

PHP DOM loadHTML() method unusual warning -

python - How to create jsonb index using GIN on SQLAlchemy? -

c# - TransactionScope not rolling back although no complete() is called -