DrawerLayout实现侧滑(简洁,高效)

效果图:

 

主布局文件my_order_new_list.xml:

 

[html] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.                 android:orientation="vertical"  
  4.                 android:background="@color/white"  
  5.                 style="@style/BaseStyle">  
  6.   
  7.     <android.support.v4.widget.DrawerLayout  
  8.         android:id="@+id/drawer_layout"  
  9.         style="@style/BaseStyle">  
  10.   
  11.         <!--订单列表布局-->  
  12.         <ListView  
  13.             android:id="@+id/lv_order"  
  14.             android:divider="@color/background_gray_standard"  
  15.             android:dividerHeight="@dimen/margin_standard"  
  16.             style="@style/BaseStyle.FullWrap"/>  
  17.   
  18.         <!--右滑布局-->  
  19.         <include  
  20.             android:id="@+id/right_drawer"  
  21.             android:layout_width="260dp"  
  22.             android:layout_height="match_parent"  
  23.             android:layout_gravity="end"  
  24.             android:background="@color/primary"  
  25.             android:choiceMode="singleChoice"  
  26.             layout="@layout/drawer_order_select"/>  
  27.   
  28.     </android.support.v4.widget.DrawerLayout>  
  29.   
  30. </RelativeLayout>  


侧滑部分的布局文件drawer_order_select.xml:

 

 

[html] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. <RelativeLayout  
  2.     xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     style="@style/BaseStyle"  
  4.     android:background="@color/background_line_gray_light">  
  5.   
  6.     <LinearLayout  
  7.         android:id="@+id/ll_select_bottom"  
  8.         style="@style/BaseStyle.FullWrap"  
  9.         android:orientation="horizontal"  
  10.         android:background="@color/background_gray"  
  11.         android:layout_alignParentBottom="true"  
  12.         android:padding="@dimen/margin_standard"  
  13.         android:gravity="right">  
  14.   
  15.         <Button  
  16.             android:id="@+id/bt_select_clear"  
  17.             style="@style/BaseStyle.View"  
  18.             android:gravity="center"  
  19.             android:padding="@dimen/padding_medium"  
  20.             android:layout_height="@dimen/btn_height_large"  
  21.             android:textColor="@color/text_subtitle_standard"  
  22.             android:layout_marginRight="@dimen/margin_standard"  
  23.             android:background="@drawable/shape_rounded_corner_gray_line"  
  24.             android:text="@string/order_select_clear"/>  
  25.   
  26.         <Button  
  27.             android:id="@+id/bt_select_confim"  
  28.             style="@style/BaseStyle.View"  
  29.             android:gravity="center"  
  30.             android:layout_height="@dimen/btn_height_large"  
  31.             android:padding="@dimen/padding_xmedium"  
  32.             android:textColor="@color/white"  
  33.             android:background="@drawable/rectangle_solid_cinnamomum"  
  34.             android:text="@string/order_select_done"/>  
  35.     </LinearLayout>  
  36.   
  37. </RelativeLayout>  


主页面代码:

 

 

[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
    1. public class MyBuyOrderActivity extends Activity{  
    2.     //侧滑布局  
    3.     private DrawerLayout mDrawerLayout;  
    4.     private RelativeLayout mRightLayout;  
    5.   
    6.     @Override  
    7.     protected void onCreate(Bundle savedInstanceState) {  
    8.         super.onCreate(savedInstanceState);  
    9.         setContentView(R.layout.my_order_new_list);  
    10.          
    11.         mDrawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);  
    12.         mRightLayout = (RelativeLayout)findViewById(R.id.right_drawer);  
    13.   
    14.         mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);//关闭手势滑动  
    15.     }  
    16.   
    17.     @Override //菜单:筛选  
    18.     public boolean onCreateOptionsMenu(Menu menu) {  
    19.         getMenuInflater().inflate(R.menu.select_order, menu);  
    20.         return super.onCreateOptionsMenu(menu);  
    21.     }  
    22.   
    23.     @Override  
    24.     public boolean onOptionsItemSelected(MenuItem item) {  
    25.         if (item.getItemId() == R.id.select_order) {  
    26.             mDrawerLayout.openDrawer(mRightLayout);  
    27.         }  
    28.         return super.onOptionsItemSelected(item);  
    29.     }  
    30.   
    31.     @Override//关闭侧滑页面  
    32.     public boolean onKeyDown(int keyCode, KeyEvent event) {  
    33.         if (keyCode == KeyEvent.KEYCODE_BACK) {  
    34.             if (mDrawerLayout.isDrawerOpen(mRightLayout)) {  
    35.                 mDrawerLayout.closeDrawer(mRightLayout);  
    36.             } else {  
    37.                 return super.onKeyDown(keyCode, event);  
    38.             }  
    39.         }  
    40.         return true;  
    41.     }  
    42.   
    43. }  
posted @ 2016-12-30 14:57  天涯海角路  阅读(147)  评论(0)    收藏  举报