既然已经在上一篇博客上介绍到了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

 

void openDrawer(int gravity, boolean animate) Open the specified drawer.

Gravity :重心,即决定Drawer弹出的屏幕边缘(Gravity的参数)(与布局设置的 gravity要一致)

Animate : 是否以动画的方式打开 Drawer

 

mDrawerLayout.openDrawer(Gravity.LEFT);

 

打开Drawer

 

void openDrawer(int gravity) Open the specified drawer by animating it out of view.

Gravity :重心,即决定Drawer 弹出的屏幕边缘(Gravity的参数)(与布局设置的 gravity要一致)

默认有动画。

 

关闭操作:

 

mDrawerLayout.closeDrawer(Gravity.LEFT,true);

 

关闭 Drawer

 

void closeorawer(int gravity, boolean animate) Close the specified drawer

Gravity :重心,即决定Drawer收起的屏幕边缘(Gravity的参数)(与布局设置的 gravity要一致)

Animate : 是否以动画的方式打开 Drawer

 

mDrawerLayout.closeDrawer(Gravity.LEFT);

 

关闭 Drawer

 

closeorawer(int gravity) Close the specified drawer by animating it out of view.

Gravity :重心,即决定Drawer 收起的屏幕边缘(Gravity的参数)(与布局设置的 gravity要一致)

默认有动画。

 

mDrawerLayout.closeDrawers();

 

关闭所有已打开的 Drawer

 

void closeorawers() Close all currently open drawer views by animating them out of view.

 

 

 

当前 Drawer的状态的检测:

 

boolean flag =mDrawerLayout.isDrawerOpen(Gravity.LEFT);

 

检测 Drawer 是否已打开,并返回一个 boolean值。若已打开即为 true

 

boolean isDrawerOpen(int drawerGravity) Check if the given drawer view is currently in an open state.

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 的事件监听器

 

void addDrawerListener(DrawerLayout . DrawerListener listener) Adds the specified listener to the list of listeners that will be notified of drawer events.

 

 

 

如果有更多的使用方法我会几时更新出来的了('')


更多相关文章

  1. Android 布局方式学习
  2. android线性布局布局的layout_weight
  3. Android顶部菜单栏,返回按钮、标题布局、右上角菜单
  4. 快速使用Android BaseRecyclerViewAdapterHelper之实现一种&多种
  5. 关于含有RecyclerView的布局载入时,会滚动到底部问题
  6. Android从右到左的布局(RTL Layout)
  7. android ui 布局
  8. Android的布局优化

随机推荐

  1. DroidDraw Android 界面设计工具使用
  2. Android(安卓)EditText 不弹出输入法总结
  3. 改变Android(安卓)对话框位置及边框
  4. Android(安卓)OS —— 常用fastboot命令
  5. Android程序实现全屏代码
  6. android开发学习笔记(1)我的第一个android
  7. The connection to adb is down, and a s
  8. Android入门教程(二十七)------之Style与
  9. Android控件之ProgressBar
  10. SSH服务器与Android通信(2)--Android客户