github地址:https://github.com/shuaijia/MaterialDesignProject
简介
DrawerLayout是Support Library包中实现了侧滑菜单效果的控件;
DrawerLayout分为侧边菜单和主内容两个部分,侧边菜单可以根据手势或点击控制展开与隐藏,主内容区可随菜单点击而切换(自己实现);
DrawerLayout 提供
- 当界面弹出的时候,主要内容区会自动背景变黑,当点击内容区的时候,抽屉布局会消失
- 在屏幕边缘手势滑动 会拉出抽屉布局
- 注意:当按后退键的时候,如果抽屉布局正在显示,则需要关闭抽屉布局
效果
使用
布局中
注意:在侧滑菜单区必须设置 android:layout_gravity 这个属性,只要布局中设置了android:layout_gravity,它就是侧滑菜单,当然,它可以是任一View或ViewGroup
代码中
判断打开状态
控制手势
监听事件
点击事件穿透问题
DrawerLayout界面点击事件穿透问题,即点击Drawerlayout上面的区域,会发现该位置DrawerLayout覆盖掉的区域的控件可以被点击
解决方法:在抽屉完全打开时设置drawer.setClickable(true); 注意,在布局中设置没有效果,必须手动设置