Android Drawer(抽屜)的使用(二)常用的方法:
既然已经在上一篇博客上介绍到了drawer 的简单使用了,今天就来仔细地看看到底官方 API为这控件提供了些什么比较好用实际地方法吧 (●'◡'●)
官方 API连接:https://developer.android.com/reference/android/support/v4/widget/DrawerLayout.html#inhattrs
假定现在在前面已经有代码:
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
一使用代码实现打开和关闭:
一般代码实现打开与关闭都是写在一些触发事件里面的,例如,标题栏图标的点击打开,返回键监听的关闭等等。。。。。。
打开操作:
mDrawerLayout.openDrawer(Gravity.LEFT,ture);
打开Drawer
Gravity :重心,即决定Drawer弹出的屏幕边缘(Gravity的参数)(与布局设置的 gravity要一致)
Animate : 是否以动画的方式打开 Drawer
mDrawerLayout.openDrawer(Gravity.LEFT);
打开Drawer
Gravity :重心,即决定Drawer 弹出的屏幕边缘(Gravity的参数)(与布局设置的 gravity要一致)
默认有动画。
关闭操作:
mDrawerLayout.closeDrawer(Gravity.LEFT,true);
关闭 Drawer
Gravity :重心,即决定Drawer收起的屏幕边缘(Gravity的参数)(与布局设置的 gravity要一致)
Animate : 是否以动画的方式打开 Drawer
mDrawerLayout.closeDrawer(Gravity.LEFT);
关闭 Drawer
Gravity :重心,即决定Drawer 收起的屏幕边缘(Gravity的参数)(与布局设置的 gravity要一致)
默认有动画。
mDrawerLayout.closeDrawers();
关闭所有已打开的 Drawer
二当前 Drawer的状态的检测:
boolean flag =mDrawerLayout.isDrawerOpen(Gravity.LEFT);
检测 Drawer 是否已打开,并返回一个 boolean值。若已打开即为 true
Gravity :重心,即决定Drawer 收起的屏幕边缘(Gravity的参数)(与布局设置的 gravity要一致)
三添加 Drawer的监听器:
通过实现Listener 里面的方法可以做到一些动态的操作
mDrawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() { @Override public void onDrawerSlide(View drawerView, float slideOffset) {//监听当 drawer 发生位移时执行 } @Override public void onDrawerOpened(View drawerView) {//监听到 drawer 打开时调用 } @Override public void onDrawerClosed(View drawerView) {//监听到 drawer 关闭时调用 } @Override public void onDrawerStateChanged(int newState) {//当 drawer 状态发生改变时 } });
添加drawer 的事件监听器
如果有更多的使用方法我会几时更新出来的了(●'◡'●)
更多相关文章
- Android 布局方式学习
- android线性布局布局的layout_weight
- Android顶部菜单栏,返回按钮、标题布局、右上角菜单
- 快速使用Android BaseRecyclerViewAdapterHelper之实现一种&多种
- 关于含有RecyclerView的布局载入时,会滚动到底部问题
- Android从右到左的布局(RTL Layout)
- android ui 布局
- Android的布局优化