【Android - V】之DrawerLayout的使用
DrawerLayout是Android V4包中的一个布局控件,用来实现一个抽屉样式的布局。
DrawerLayout通过设置子视图的layout_gravity来决定子视图停靠在屏幕的哪个边缘外侧,等待用户将它拖进来或点击按钮拉开抽屉。
下面是一个简单的DrawerLayout的布局文件中的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> <android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:minHeight="?attr/actionBarSize" /> <android.support.v4.widget.DrawerLayout
android:id="@+id/drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"> <ImageView
android:id="@+id/bg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="@string/app_name"
android:scaleType="centerCrop"
android:src="@mipmap/bg4" /> <!-- android:layout_gravity:设置抽屉布局所在的位置,start或left左侧,end或right右侧 -->
<ListView
android:id="@+id/drawer_list"
android:layout_width="256.0dip"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@color/colorPrimary"
android:choiceMode="singleChoice"
android:divider="#00000000" />
</android.support.v4.widget.DrawerLayout>
</LinearLayout>
在代码中,我们为ListView设置了layout_gravity属性为start,表示我们将ListView添加到抽屉中,并隐藏在屏幕的左边。如果我们将手指按在屏幕左边缘向右拖拽,可以将抽屉拖出来。
我们可以通过DrawerLayout对象的openDrawer()和closeDrawer()方法来打开或关闭抽屉。
接下来我们来介绍一下DrawerLayout和Toolbar结合使用的方法。
先看一下运行效果:
可以看到,在Toolbar的最左侧有一个按钮,可以跟随点击通过动画变化样子,然后可以拉开抽屉。这个按钮是一个叫做ActionBarDrawerToggle的对象,通过给抽屉绑定这个对象,可以从Toolbar中拉开抽屉。具体的代码如下:
// 初始化Toolbar
setSupportActionBar(toolbar);
// 点击可以弹出抽屉的按钮
ActionBarDrawerToggle drawerToggle = new ActionBarDrawerToggle(MainActivity.this, drawer,
toolbar, R.string.drawer_open, R.string.drawer_close);
drawerToggle.syncState();
drawer.addDrawerListener(drawerToggle);
ListView数据适配、ListView中Item的点击事件不再赘述。
以上就是对DrawerLayout的基础用法的介绍,下面贴出码云上的源码,供大家参考。
【Android - V】之DrawerLayout的使用的更多相关文章
- Android笔记之DrawerLayout的基本使用
效果图 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLay ...
- Android 使用Toolbar+DrawerLayout快速实现仿“知乎APP”侧滑导航效果
在以前,做策划导航的时候,最常用的组件便是SlidingMenu了,当初第一次用它的时候觉得那个惊艳啊,体验可以说是非常棒. 后来,Android自己推出了一个可以实现策划导航的组件DrawerLay ...
- Android抽屉效果 DrawerLayout 入门经验总结
今天试了试这个抽屉布局的效果,结果很崩溃无语 网上很多资料都千篇一律,感觉都有问题,下面总结下几点经验: 先上个效果图: 1. layout 布局文件中怎么写: <android.suppor ...
- Android组件——使用DrawerLayout仿网易新闻v4.4侧滑菜单
摘要: 转载请注明出处:http://blog.csdn.net/allen315410/article/details/42914501 概述 今天这篇博客将记录一些关于DrawerL ...
- Android使用ToolBar+DrawerLayout+NavigationView实现侧滑抽屉效果
学会使用DrawerLayout 学会使用NavigationView 学会使用ToolBar+DrawerLayout+NavigationView实现侧滑抽屉效果 学会实现Toolbar在顶部以及 ...
- Android抽屉菜单DrawerLayout的实现案例
(1)项目布局文件 activity_main.xml <android.support.v4.widget.DrawerLayout xmlns:android="http://sc ...
- Android中的DrawerLayout
简介 Drawerlayout是google自带的控件,功能类似开源的SlidingMenu,在support-v4包下用来替代SlidingMenu(google好无耻啊). 使用方法 在activ ...
- Android笔记:DrawerLayout抽屉布局的使用
DrawerLayout(抽屉布局),在各种app中经常出现,比如csdn.. 如下示,只要从屏幕侧边滑一下,或者点击左上角的图标,抽屉就会出来. DrawerLayout要点: 1.使用Drawer ...
- 【Android - V】之Toolbar的使用
Toolbar是Android V7包中的一个控件,用来代替Action Bar作为界面的头部标题栏布局.Toolbar相对于Action Bar的特点是更加灵活,可以显示在任何位置. 首先先来看To ...
随机推荐
- vertical-align的深入学习
W3C官方对vertical-align属性的定义有4个方面: (1)vertical-align属性用于定义“周围的文字.inline元素以及inline-block元素”相对于该元素基线的垂 ...
- winform C#屏幕右下角弹出消息框并自动消失
①弹出信息框后慢慢下降消失 在主窗体中新增按钮重命名为btnShowAndDisappearMessages,在click事件中写如下代码: private void btnShowAndDisapp ...
- __unset()魔术方法 删除类内私有属性
__unset()魔术方法 删除私有属性 unset()对共有属性进行删除 可通过__unset()魔术方法对私有属性进行操作 当在类外部执行unset()函数时,自动执行类内__unset()魔术方 ...
- Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置
由浅入深,主要介绍maven的用途.核心概念(Pom.Repositories.Artifact.Build Lifecycle.Goal).用法(Archetype意义及创建各种项目).maven常 ...
- Windows安装Subversion
1.安装Setup-Subversion-1.8.16.msi下载地址:https://sourceforge.net/projects/win32svn/ 2.将svn添加到Windows系统服务s ...
- hadoop namenode多次格式化后,导致datanode启动不了
jps hadoop namenode -format dfs directory : /home/hadoop/dfs --data --current/VERSION #Wed Jul :: CS ...
- 从一个模板函数聊聊模板函数里面如何获得T的名字
写了个小程序,遇到点问题.总结总结,学习学习 #include<vector> #include<iostream> #include<typeinfo> usin ...
- 简单学C——第七天
函数 函数是C语言重要的组成部分,你现在,或者以后(如果C没什么变化的话)所写的任何一个C语言程序都是由一个一个的函数组合在一起的,当然,现在或许你只会在主函数 main中写一个小程序,那么在看了本篇 ...
- C# 下载资源
//创建一个初始化请求对象 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri("http://wwww.b ...
- 关于PowerDesigner
1. PowerDesigner将所有的小写改为大写:Tools->Model Option->左侧菜单中“Naming conversion”->Column->Code – ...