navigation drawer - Android Hamburger Icon Doing Nothing -
i have been able show "hamburger" icon on toolbar, when click on it, nothing happening... way bring drawer slide left..
here's code:
@override public void oncreate(bundle savedinstancestate){ super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); mtoolbar = (toolbar) findviewbyid(r.id.my_toolbar); setsupportactionbar(mtoolbar); getsupportactionbar().setdisplayshowhomeenabled(true); getsupportactionbar().sethomebuttonenabled(true); mdrayerlayout = (drawerlayout) findviewbyid(r.id.drawer_layout); mdrayerlayout.setdrawershadow(r.drawable.drawer_shadow, gravitycompat.start); mdrawerlist = (listview) findviewbyid(r.id.left_drawer); mdrawerlist.setadapter(new arrayadapter<>(this, r.layout.drawer_list_item, test)); mdrawerlist.setonitemclicklistener(new drawerlistclicklistener()); mdrawertoggle = new actionbardrawertoggle(this, mdrayerlayout, r.string.navigation_drawer_open, r.string.navigation_drawer_close){ public void ondrawerclosed(view view){ super.ondrawerclosed(view); getsupportactionbar().settitle("close"); invalidateoptionsmenu(); mdrawertoggle.syncstate(); } public void ondraweropened(view drawerview){ super.ondrawerclosed(drawerview); getsupportactionbar().settitle("open"); invalidateoptionsmenu(); mdrawertoggle.syncstate(); } }; mdrawertoggle.syncstate(); mdrayerlayout.setdrawerlistener(mdrawertoggle); }
here's xml file. don't think knows.
<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/main_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- toolbar --> <android.support.v7.widget.toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/my_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionbarsize" android:background="?attr/colorprimary" android:theme="@style/themeoverlay.appcompat.actionbar" app:popuptheme="@style/themeoverlay.appcompat.light"/> <android.support.v4.widget.drawerlayout android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/my_toolbar"> <!-- main content view --> <framelayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" /> <!-- navigation drawer --> <listview android:id="@+id/left_drawer" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:choicemode="singlechoice" android:divider="@android:color/transparent" android:dividerheight="0dp" android:background="#111"/> </android.support.v4.widget.drawerlayout>
thanks!
when using four-parameter constructor actionbardrawertoggle
, need override activity
's onoptionsitemselected()
method, , call toggle's corresponding method trigger drawer opening , closing.
@override public boolean onoptionsitemselected(menuitem item) { if(mdrawertoggle.onoptionsitemselected(item)) { return true; } ... return super.onoptionsitemselected(item); }
Comments
Post a Comment