Contents
  1. 1. DrawerLayout的简单使用
  2. 2. DrawerLayout的相关方法、监听器

DrawerLayout的简单使用

实现效果如下:

上述分别是左抽屉跟右抽屉。

1.创建布局文件

DrawerLayout 里面有最多有三个节点(子布局)
分别是主内容、左抽屉内容、右抽屉内容。

代码如下:

<android.support.v4.widget.DrawerLayout>  

    <FrameLayout>
    //这里是主布局
    </FrameLayout>

    <RelativeLayout 
    android:layout_gravity="left">
    //这里是左抽屉
    </RelativeLayout>

    <RelativeLayout
    android:layout_gravity="right">
    //这里是右抽屉
    </RelativeLayout>

</android.support.v4.widget.DrawerLayout>

通过layout_gravity属性设置是左抽屉(start、left)还是右抽屉(end、right)。

2.在MainActivity中 获取两个抽屉id,然后获取其子view
假设左抽屉里面有个TextView,我们可以这样获取。

private RelativeLayout rlLeft;  
private DrawerLayout drawerLayout;  
protected void onCreate(Bundle savedInstanceState) {  
rlLeft=(RelativeLayout) findViewById(R.id.rlLeft);  
TextView tv = (TextView)rlLeft.findViewById(R.id.tv);    
}  

DrawerLayout的相关方法、监听器

方法:

openDrawer(ViewGroup) 打开抽屉,参数是layout,例如上面的rlLeft。
closeDrawer(ViewGroup) 关闭抽屉。
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);关闭滑动
监听器:

setDrawerListener 其内部方法有onDrawerSlide、onDrawerOpened、onDrawerClosed、onDrawerStateChanged

参考一
参考二
参考三

进阶:
可以跟ActionBar连用。

Contents
  1. 1. DrawerLayout的简单使用
  2. 2. DrawerLayout的相关方法、监听器