注意事项:
- DrawerLayout最好为界面的根布局,否则可能会出现触摸事件被屏蔽的问题
- 主内容区的布局代码要放在侧滑菜单布局的前面---策划菜单必须放最后
- 侧滑菜单部分的布局(这里是ListView)必须设置layout_gravity属性
界面的根布局
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.mydrawerlayout.MainActivity">
DrawerLayout.DrawerListener的实时监听 :
drawer.setDrawerListener(new DrawerLayout.DrawerListener() {
//当侧拉栏滑动的时候调用此方法
@Override
public void onDrawerSlide(View drawerView, float slideOffset) {
}
//当侧拉栏打开的时候调用此方法
@Override
public void onDrawerOpened(View drawerView) {
}
//当侧拉栏关闭的时候调用此方法
@Override
public void onDrawerClosed(View drawerView) {
}
/**当抽屉滑动状态改变的时候被调用
* 状态值是STATE_IDLE(闲置--0), STATE_DRAGGING(拖拽的--1), STATE_SETTLING(固定--2)中之一。
* 抽屉打开的时候,点击抽屉,drawer的状态就会变成STATE_DRAGGING,然后变成STATE_IDLE*/
@Override
public void onDrawerStateChanged(int newState) {
}
});