DrawerLayout是在android.support.v4包下,实现了侧滑菜单效果的控件。是第三方侧滑控件如MenuDrawer等的出现之后,google借鉴而出现的产物。




使用注意事项:

主内容视图一定要是DrawerLayout的第一个子视图

主内容视图宽度和高度需要match_parent

必须显示指定侧滑视图的android:layout_gravity属性android:layout_gravity = "start"时,从左向右滑出菜单;android:layout_gravity = "end"时,从右向左滑出菜单,不推荐使用left和right

侧滑视图的宽度以dp为单位,不建议超过320dp(为了总能看到一些主内容视图)

设置侧滑时间:mDrawerLayout.setDrawerListener(DrawerLayout.DrawerListener);

可以结合Toolbar使用当用户点击Toolbar上的应用图标,弹出侧滑菜单


简单使用:

布局文件:

效果如下:

1

也可以为页面增加左右两边的侧滑菜单栏:

效果如下:

2

代码控制菜单弹出收起:

drawer.openDrawer(GravityCompat.START);   //打开左边的菜单

drawer.openDrawer(GravityCompat.END);   //打开右边的菜单

drawer.closeDrawer(GravityCompat.START);   //关闭左边的菜单

drawer.closeDrawer();    //不带参数,关闭所有的菜单


控制菜单位置

android:layout_gravity="left"  <==>  android:layout_gravity="start"

android:layout_gravity="right"  <==>  android:layout_gravity="end"


DrawerLayout监听器




DrawerLayout配合ToolBar快速实现高大上的侧滑菜单:

效果预览

3

布局文件


设定ToggledrawerToggle为DrawerLayout的滑动监听器:

完事!




参考

http://www.jianshu.com/p/65f268f01dce

更多相关文章

  1. android 沉浸式(透明)状态栏实现
  2. Android(安卓)动画效果(三):overridePendingTransition(界面切换动
  3. Android中MenuInflater实例
  4. CSS3实现android(安卓)Logo图标效果
  5. android 右上角添加菜单
  6. Android模糊效果总结
  7. Android开源介绍-UI组件
  8. Android(安卓)Tag-Cloud (云标签) 效果
  9. android weight属性

随机推荐

  1. Web和Android中的Reactive
  2. android ghost tricks(一)
  3. Android(安卓)7.0解析包时出现问题 的解
  4. Android高性能编码 - 第八篇 移动端安全
  5. 在Android上优雅的申请权限
  6. 横竖屏优化
  7. 阿里ctf-2014 android 第三题——andriod
  8. 详解 Android(安卓)Views 元素的 layout_
  9. Android范例编程一:获取地理位置
  10. 说说Android的MVP模式