当前位置:   article > 正文

【Android - V】之DrawerLayout的使用_drawerlayout的使用v4包

drawerlayout的使用v4包

DrawerLayout是Android V4包中的一个布局控件,用来实现一个抽屉样式的布局。

DrawerLayout通过设置子视图的layout_gravity来决定子视图停靠在屏幕的哪个边缘外侧,等待用户将它拖进来或点击按钮拉开抽屉。

下面是一个简单的DrawerLayout的布局文件中的代码:

  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. android:layout_width="match_parent"
  3. android:layout_height="match_parent"
  4. android:orientation="vertical">
  5. <android.support.v7.widget.Toolbar
  6. android:id="@+id/toolbar"
  7. android:layout_width="match_parent"
  8. android:layout_height="wrap_content"
  9. android:background="@color/colorPrimary"
  10. android:minHeight="?attr/actionBarSize" />
  11. <android.support.v4.widget.DrawerLayout
  12. android:id="@+id/drawer"
  13. android:layout_width="match_parent"
  14. android:layout_height="match_parent">
  15. <ImageView
  16. android:id="@+id/bg"
  17. android:layout_width="match_parent"
  18. android:layout_height="match_parent"
  19. android:contentDescription="@string/app_name"
  20. android:scaleType="centerCrop"
  21. android:src="@mipmap/bg4" />
  22. <!-- android:layout_gravity:设置抽屉布局所在的位置,start或left左侧,end或right右侧 -->
  23. <ListView
  24. android:id="@+id/drawer_list"
  25. android:layout_width="256.0dip"
  26. android:layout_height="match_parent"
  27. android:layout_gravity="start"
  28. android:background="@color/colorPrimary"
  29. android:choiceMode="singleChoice"
  30. android:divider="#00000000" />
  31. </android.support.v4.widget.DrawerLayout>
  32. </LinearLayout>
在代码中,我们为ListView设置了layout_gravity属性为start,表示我们将ListView添加到抽屉中,并隐藏在屏幕的左边。如果我们将手指按在屏幕左边缘向右拖拽,可以将抽屉拖出来。

我们可以通过DrawerLayout对象的openDrawer()和closeDrawer()方法来打开或关闭抽屉。


接下来我们来介绍一下DrawerLayout和Toolbar结合使用的方法。

先看一下运行效果:

      
可以看到,在Toolbar的最左侧有一个按钮,可以跟随点击通过动画变化样子,然后可以拉开抽屉。这个按钮是一个叫做ActionBarDrawerToggle的对象,通过给抽屉绑定这个对象,可以从Toolbar中拉开抽屉。具体的代码如下:

  1. // 初始化Toolbar
  2. setSupportActionBar(toolbar);
  3. // 点击可以弹出抽屉的按钮
  4. ActionBarDrawerToggle drawerToggle = new ActionBarDrawerToggle(MainActivity.this, drawer,
  5. toolbar, R.string.drawer_open, R.string.drawer_close);
  6. drawerToggle.syncState();
  7. drawer.addDrawerListener(drawerToggle);
ListView数据适配、ListView中Item的点击事件不再赘述。


以上就是对DrawerLayout的基础用法的介绍,下面贴出码云上的源码,供大家参考。

DEMO地址

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/279686
推荐阅读
相关标签
  

闽ICP备14008679号