Android 侧滑菜单(DrawerLayout+ToolBar的使用)

Android使用DrawerLayoutToolBar实现仿知乎侧滑菜单 侧滑菜单现在在很多app上都可以看到,以下文章主要讲如何实现实现Android侧滑菜单。可以先看一个简单的侧滑菜单设计。 示例图: 从屏幕左端向右滑动或点击左上角按钮可打开侧滑菜单。具体实现activity_main.xml<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout 阅读详情

引言

DrawerLayout是现在Android App开发很流行的一种UI框架,它就是我们常见的侧滑菜单,QQ和百度阅读等很多APP都有类似的效果。不过它们其中有些是用SlidingMenu实现的,有些则是用DrawerLayout实现的。SlidingMenu是GitHub上一个很火的开源框架,早期的很多Android App的侧滑菜单都是用这个框架做的。不过后来Google给开发者写了这个官方的用起来更加简便的DrawerLayout。现在做侧滑菜单,我们都 推荐使用DrawerLayout。最近我做的一个项目中也用到了这个,所以把自己的一些开发经验记录下来,也希望能帮助到需要了解这方面的人。^o^

使用思路

布局

DrawerLayout是Android提供的控件,它的API就在Android的SDK里,为了向下兼容,我们使用支持包V4包里的。一般情况下我们想实现的是侧滑菜单既可以手指滑出也可以点击ToolBar上的汉堡按钮来弹出。这里就涉及到ToolBar的使用和在代码中设置 ActionBarDrawerToggle监听了。下面我们详细说明。

android.support.v4.widget.DrawerLayout

android.support.v7.widget.Toolbar

ActionBarDrawerToggle

  • 这里先给出我们的Demo最后效果截图:
    这里写图片描述

  • 布局文件

布局中,首先是一个android.support.v7.widget.Toolbar,因为ToolBar中用到
app:title="功能菜单" app:navigationIcon="@drawable/tb_navigation_icon"这两个属性,所以在父布局中一定要声明命名空间:xmlns:app="http://schemas.android.com/apk/res-auto"

然后,就是我们的android.support.v4.widget.DrawerLayout了,这个控件的使用分为两部分,首先要写显示在主空间(也就是主界面)上的部分,这里用一个FrameLayout填充,这是考虑到我们这个地方可以用Fragment.第二部分则是侧滑菜单的菜单内容。根据我们上面的效果图,我们写一个圆形的头像(CircleImageView),然后写几个菜单选项即可,这个很简单,大家可以看看后面的Demo代码,这里不多说了。值得注意的是,DrawerLayout必须先写主界面部分的UI,再写侧滑菜单的ui。这是因为android解析的时候以这个顺序来识别。

<?xml version="1.0" encoding="utf-8"?>
		<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
		    xmlns:tools="http://schemas.android.com/tools"
		    android:layout_width="match_parent"
		    android:layout_height="match_parent"
		    android:orientation="vertical"
		    tools:context="com.alanjet.drawerlayouttest.MainActivity"
		    xmlns:app="http://schemas.android.com/apk/res-auto">
		    <android.support.v7.widget.Toolbar
		        android:id="@+id/tl_toolbar"
		        app:title="功能菜单"
		        app:navigationIcon="@drawable/tb_navigation_icon"
		        android:layout_height="wrap_content"
		        android:minHeight="?attr/actionBarSize"
		        android:layout_width="match_parent"
		        android:background="#66cc99" />
	
	    <android.support.v4.widget.DrawerLayout
	        android:id="@+id/dl_d
Android实现侧滑抽屉菜单(DrawerLayout+NavigationView+toolbar) 目录: 1.概述 2.实现过程与代码 1.概述 在android开发中,我们经常会有需求开发抽屉菜单,纵观当下的主流APP,大多首页都会有侧滑抽屉菜单,它的好处就在于,它可以 在有限的空间内显示尽量多的控件。 抽屉菜单的实现方式也有很多种方式,下面我仅仅是通过官方的DrawerLayout+NavigationView+toolbar来实现与导航栏相关联的抽屉 菜单。 2. 阅读详情

相关推荐

使用Toolbar + DrawerLayout+RecyclerView实现侧滑菜单栏(一)

Toolbar前言开发的工程中想要使用第三方的侧滑菜单栏,偶然发现Google提供的API便使用一番,发现设计倒是巧妙,便来此与各位同友分享使用心得。准备 Android Studio 2.2 Preview 6 Gradle添加依赖 compile 'com.android.support:appcompat-v7:24.1.0' compile 'com.android.support.c

TringBtb的博客 2414

Android 悬浮菜单(按钮) BoomMenu(样式大合集)

Android 悬浮菜单 BoomMenu(样式大合集) 一、样式大集合:(总有一款适合你) BoomMenu 使用 一、Demo 效果演示: 二、导入引用 dependencies { … compile ‘com.nightonke:boommenu:x.y.z’ … } //x.y.z 为最新jar版本 // https://github.com/Nightonke/BoomMenu 二、xml中添加布局 <com.nightonke....

Jon.Lo 的专栏 4542

Android DrawerLayout 侧滑抽屉全屏显示、点击长按界面弹出抽屉的bug源码修改

DrawerLayout全屏手动侧滑(不仅仅局限于点击按钮弹出抽屉)、抽屉全屏显示、点击长按界面弹出抽屉的bug源码修改,侧滑内容为fragment可以外部设置加载数据。

AndroidDrawerLayout (官方侧滑菜单)的简单使用

官方给我们提供的一个侧滑菜单 控件,和上一节的ViewPager一样,3.0以后引入,低版本使用它,需要v4兼容包,说到侧滑,相信 很多人都用过github上的SlidingMenu,不过好像有两个版本,一个是单独的,另一个需要依赖另一 个开源项目:ActionBarSherlock;嗯,不知道你有没有发现,从上面的DrawerLayout的布局,我们大概可以猜到,DrawerLayout 最多由三个部分组成,中间的内容部分,左边的侧滑菜单部分,右边的侧滑菜单部分组成!当然你可以根据自己的需求进行扩展!

leyang0910的博客 7255

Android 吊炸天的酷炫Menu菜单交互,让我们的逼格进一步提高

目前Menu菜单Android中必不可少的模块,每个Android项目都会用到Menu来给用户起到选择和导航的作用,提升用户体验,那么Menu要怎么使用才够酷呢。下面给大家介绍几个人搜集的吊炸天的酷炫Menu菜单开源工程,让我们的逼格直飞冲天。(有干货立刻跟大家分享)1.android-snake-menu随意拖动的菜单,看起来就像一条蛇,想不想贪吃蛇,个人感觉最炫的一个 github地址:ht

qq_34501274的博客 1万+

Android 一个炫酷的扇形菜单

效果演示如何使用1、布局<com.rance.library.SectorMenuButton android:id="@+id/sector_menu" android:layout_width="wrap_content" android:layout_height="wrap_content" app:aebAnimDurationMillis=

Rance935的专栏 8004

AndroidToolbarDrawerLayout 滑动菜单、 FloatingActionButton 悬浮按钮、Snackbar可交互提示、 Coordinator】

Snackbar允许在提示中加入一个可交互按钮,当用户点击按钮的时候,就可以执行一 些额外的逻辑操作。CoordinatorLayout会监听所有子控件的各种事件,并且自动帮助我们做出最为合理的 响应。在项目运行在虚拟机上时,都可以看见屏幕上方有一个栏目(下图红框圈出的部分),此为系统默认的。以便于我们更灵活的编辑栏目内容,所以我们先将主题文件中的。弹出的时候会把悬浮按钮遮住,但是这个问题我们可以用。,再次运行就可以发现顶端的栏目不见了。,他们有不同的应用场景。.

weixin_63261150的博客 1619

Android实现侧滑抽屉菜单,Android实现侧滑抽屉菜单(DrawerLayout+NavigationView+toolbar)

目录:1.概述2.实现过程与代码1.概述在android开发中,咱们常常会有需求开发抽屉菜单,纵观当下的主流APP,大多首页都会有侧滑抽屉菜单,它的好处就在于,它能够在有限的空间内显示尽可能多的控件。抽屉菜单的实现方式也有不少种方式,下面我仅仅是经过官方的DrawerLayout+NavigationView+toolbar来实现与导航栏相关联的抽屉菜单。2.实现过程与代码2.1 效果截图由上面的...

weixin_39530960的博客 1411

Android使用DrawerLayout+NavigationView+ToolBar实现抽屉侧滑菜单

一:将DrawerLayout设为根布局 <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas....

yuncaidaishu的博客 535

Android DrawerLayout+ToolBar+NavigationView实现侧滑菜单效果,沉浸式状态栏

最近看到很多APP都使用Android Support Library的DrawerLayout实现侧滑效果,下面我就自己写了一个Demo来实现,其中还用到了Toolbar,NavigationView,沉浸式状态栏效果 先看效果图 添加依赖 compile 'com.android.support:design:24+' 首先是布局文件,一共有四个xml文件两个me

qq_27942511的博客 3371

Android:使用Toolbar + DrawerLayout快速实现菜单侧滑

1.首先需要添加appcompat-v7支持如果是在Android Studio上创建的项目,默认已经添加了appcompat-v7支持了,如果不是最新版AS则需要在build.gradle中添加如下代码:dependencies { ...//其他代码 compile 'com.android.support:appcompat-v7:21.0.2' }添加完成后需要同步一下gra

BAOLIANG196的博客 780

Android Toolbar+DrawerLayout+PagerSlidingTabStrip实现仿csdn侧滑菜单

ToolbarAndroid5.0新出的一个工具栏,相对于ActionBar ToolBar的位置可以随意摆放,DrawerLayout则是SlidingDrawer的升级版,我们知道SlidingDeawer并不是是支持所有方向的拉动,它只支持从右到左,从下到上,所以有一定的局限性,而DrawerLayout则可以随意设置,PagerSlidingTabStrip是github上的一个开源库,

老实任 1725

android侧边栏简书,Android中MaterialDesign使用 ()Navigation+Drawerlayout+Toolbar实现简单侧滑菜单...

MaterialDesign使用 () Navigation的使用#使用Navigation+Drawerlayout+Toolbar实现简单侧滑菜单2016/9/8 星期四 19:59:10先看效果图:使用Tablayout,首先需要在项目中加入Design包dependencies {compile 'com.android.support:design:24.1.1'}因为要用到Toolb...

weixin_34900758的博客 576

Android——使用Toolbar + DrawerLayout快速实现高大上菜单侧滑

今天就来使用官方支持库来快速实现这类效果,需要使用ToolbarDrawerLayout,详细步骤如下:(如果你还不知道这两个Widget,先自己Google吧~) 1.首先需要添加appcompat-v7支持 如果是在Android Studio 1.0 RC4上创建的项目,默认已经添加了appcompat-v7支持了,如果不是最新版AS则需要在build.gradle中添加如下代码:

丿灬安之若死 464

Android 抽屉侧滑菜单 DrawerLayout+NavigationView+ToolBar

效果图 当然只是一个简单的demo接下来就是主界面布局了<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"

android_hl的博客 832

DrawerLayout侧滑菜单)的使用

DrawerLayout,官方提供的一个侧滑菜单 控件,和ViewPager一样,3.0以后引入,低版本使用它,需要v4兼容包,说到侧滑,相信  很多人都用过github上的SlidingMenu,不过好像有两个版本,一个是单独的,另一个需要依赖另一  个开源项目:ActionBarSherlock; 在 Material Design设计规范中,随处可见的很多侧滑菜单的动画效果,大都可以通

qq_30784675的博客 632

Toolbar+DrawerLayout SlideMenu 2种方式实现抽屉侧滑

一.ToolBar常用的方法 Toolbar是在 Android 5.0 开始推出的一个 Material Design 风格的导航控件,以此来取代之前的Actionbar 。我们需要在工程中引入appcompat-v7的兼容包以便向下兼容, 使用android.support.v7.widget.Toolbar进行开发。在设计 Toolbar 的时候,Google也留给了开发者很多可定制修改的余...

chen1459的博客 178

android动态侧滑菜单,Android如何实现侧滑菜单DrawerLayout

Android如何实现侧滑菜单DrawerLayout发布时间:2020-07-22 17:23:31来源:亿速云阅读:79作者:小猪这篇文章主要为大家展示了Android如何实现侧滑菜单DrawerLayout,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。代码实现过程:1.导入框架build.gradle中//materialDesignimple...

weixin_39851261的博客 215
上一篇: CCF认证模拟之最大的矩形
下一篇: Android 更改头像(图片)并上传服务器功能Demo详解
Alan_Mo
博客等级 码龄10年 52粉丝 15原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值