Androiddrawerlayout+fragment layout for left and right side slide

Source: Internet
Author: User

Technical points: Android.support.v4.widget.DrawerLayout

Open drawer: Drawerlayout. Opendrawer ();

Closed drawer: Drawerlayout.closedrawer ();

Set a Layout_grative property for Slidinglayout

Middle Left Right

Click First to click Second

Code:

Activity_main.xml

<android.support.v4.widget.drawerlayout xmlns:android= "Http://schemas.android.com/apk/res/android" Android:id         = "@+id/drawer_layout" android:layout_width= "fill_parent" android:layout_height= "fill_parent" > <FrameLayout  Android:id= "@+id/fragment_layout" android:layout_width= "fill_parent" android:layout_height= "Fill_parent" > </FrameLayout> <relativelayout android:id= "@+id/menu_layout_left" android:layout_width= "300DP" android:layout_height= "match_parent" android:layout_gravity= "left" android:background= "@andro Id:color/holo_red_light "> <listview android:id=" @+id/menu_listview_l "Android:layout_wi Dth= "Match_parent" android:layout_height= "match_parent" > </ListView> </relativelayout&gt    ; <relativelayout android:id= "@+id/menu_layout_right" android:layout_width= "300DP" android:layout_he    ight= "Match_parent"    Android:layout_gravity= "Right" android:background= "#ff333333" > <listview android:id= "@+        Id/menu_listview_r "android:layout_width=" match_parent "android:layout_height=" Match_parent "> </ListView> </RelativeLayout></android.support.v4.widget.DrawerLayout>

First.xml

<linearlayout    xmlns:android= "http://schemas.android.com/apk/res/android"    android:id= "@+id/drawer_ Layout "    android:layout_width=" match_parent "    android:layout_height=" match_parent "    android:o rientation= "vertical" >    <textview        android:id= "@+id/textview1" android:layout_width= "Wrap_        Content "        android:layout_height=" wrap_content "        android:text=" first "        android:textappearance="? Android:attr/textappearancelarge "/>  </LinearLayout>

Second.xml

<linearlayout    xmlns:android= "http://schemas.android.com/apk/res/android"    android:id= "@+id/drawer_ Layout "    android:layout_width=" match_parent "    android:layout_height=" match_parent "    android:o rientation= "vertical" >    <textview        android:id= "@+id/textview1" android:layout_width= "Wrap_        Content "        android:layout_height=" wrap_content "        android:text=" second "        android:textappearance="? Android:attr/textappearancelarge "/>  </LinearLayout>

Mainactivity.java

Package Org.busyboy.drawerlayout;import Com.example.testdrawerlayout.r;import Android.os.bundle;import Android.app.activity;import Android.support.v4.app.fragment;import android.support.v4.app.FragmentActivity; Import Android.support.v4.app.fragmenttransaction;import Android.support.v4.widget.drawerlayout;import Android.view.gravity;import Android.view.view;import Android.widget.adapterview;import Android.widget.arrayadapter;import Android.widget.listview;import Android.widget.relativelayout;import Android.widget.adapterview.onitemclicklistener;import Android.widget.textview;public class MainActivity extends    fragmentactivity{public static final string[] TITLES = {"First", "Second"}; Private Drawerlayout mdrawer_layout;//drawerlayout container private relativelayout mmenu_layout_left;//left drawer private Relativ    Elayout mmenu_layout_right;//Right drawer @Override protected void OnCreate (Bundle savedinstancestate) {Super.oncreate (savedinstancesTate);                                 Setcontentview (R.layout.activity_main);        Mdrawer_layout = (drawerlayout) Findviewbyid (r.id.drawer_layout);        Mmenu_layout_left = (relativelayout) Findviewbyid (r.id.menu_layout_left);        Mmenu_layout_right = (relativelayout) Findviewbyid (r.id.menu_layout_right);        ListView menu_listview_l = (ListView) Mmenu_layout_left.findviewbyid (r.id.menu_listview_l);                                 ListView Menu_listview_r = (ListView) Mmenu_layout_right.findviewbyid (R.id.menu_listview_r); Menu_listview_l.setadapter (New arrayadapter<string> (this, Android.        R.layout.simple_expandable_list_item_1, TITLES)); Menu_listview_r.setadapter (New arrayadapter<string> (this, Android.                                 R.layout.simple_expandable_list_item_1, TITLES));        Listener Menu Menu_listview_l.setonitemclicklistener (new Draweritemclicklistenerleft ()); Menu_listview_r.setonitemclicklistener (New Draweritemclicklistenerright ()); }/** * Left list click event * @author busy_boy * */public class Draweritemclicklistenerleft implements O Nitemclicklistener {@Override public void Onitemclick (adapterview<?> parent, view view, int Positi            On, long id) {fragmenttransaction ft = Getsupportfragmentmanager (). BeginTransaction ();                                         Fragment Fragment = null; Determines which fragment switch (position) {Case 0:fragment = is enabled according to the item click line Number                    New Firstfragment ();                Break                    Case 1:fragment = new secondfragment ();                Break            Default:break;            } ft.replace (R.id.fragment_layout, fragment);            Ft.commit (); Mdrawer_layout.closedrawer (mmenu_layout_left);//Close Mmenu_layout}}/** * Right list click things piece * @author bUsy_boy * * */Private class Draweritemclicklistenerright implements Onitemclicklistener {@Override PU Blic void Onitemclick (adapterview<?> parent, view view, int position, long id) {FRAGMENTTRANSACTI            On ft = Getsupportfragmentmanager (). BeginTransaction ();                                         Fragment Fragment = null; Determines which fragment switch (position) {Case 0:fragment = is enabled according to the item click line Number                    New Firstfragment ();                Break                    Case 1:fragment = new secondfragment ();                Break            Default:break;            } ft.replace (R.id.fragment_layout, fragment);            Ft.commit (); Mdrawer_layout.closedrawer (mmenu_layout_right);//Close Mmenu_layout}}}

Firstfragment.java

Package Org.busyboy.drawerlayout;import Com.example.testdrawerlayout.r;import Android.os.bundle;import Android.support.v4.app.fragment;import Android.view.layoutinflater;import Android.view.view;import Android.view.viewgroup;public class Firstfragment extends Fragment {@Overridepublic view Oncreateview (layoutinflater Inflater, ViewGroup container,bundle savedinstancestate) {return inflater.inflate (R.layout.first, NULL);}}

Secondfragment.java

Import Com.example.testdrawerlayout.r;import Android.os.bundle;import Android.support.v4.app.fragment;import Android.view.layoutinflater;import Android.view.view;import Android.view.viewgroup;public class SecondFragment Extends Fragment {@Overridepublic View oncreateview (layoutinflater inflater, ViewGroup container,bundle Savedinstancestate) {return inflater.inflate (r.layout.second, NULL);}}

Androiddrawerlayout+fragment layout for left and right side slide

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.