Android Drawer(抽屜)的使用(二)常用的方法:

来源:互联网 发布:linux pyqt4 安装 编辑:程序博客网 时间:2024/06/01 09:10

         既然已经在上一篇博客上介绍到了drawer的简单使用了,今天就来仔细地看看到底官方 API为这控件提供了些什么比较好用实际地方法吧 ('')


官方 API连接:https://developer.android.com/reference/android/support/v4/widget/DrawerLayout.html#inhattrs


假定现在在前面已经有代码:

<pre name="code" class="java">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) {<span style="white-space:pre"></span>//监听当 drawer 发生位移时执行                           }             @Override            public void onDrawerOpened(View drawerView) {<span style="white-space:pre"></span>//监听到 drawer 打开时调用             }             @Override            public void onDrawerClosed(View drawerView) {<span style="white-space:pre"></span>//监听到 drawer 关闭时调用             }             @Override            public void onDrawerStateChanged(int newState) {<span style="white-space:pre"></span>//当 drawer 状态发生改变时             }        });

 

添加drawer的事件监听器

 

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

 

 

 

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


0 0
原创粉丝点击