首页
学习
活动
专区
工具
TVP
发布

Android使用DrawerLayout实现双向菜单

前言   在android开发中,很多的app都有使用菜单,有的是自定义控件来实现菜单,但是android给我们提供了DrawerLayout类来实现菜单效果很好,今天我就说说怎么去使用它来实现菜单...实现   我们先来看一下效果图: image.png 这里我们实现的双向菜单,在界面上部加入了两个按钮,点击就会打开菜单或者关闭菜单,当然也可以自己去滑动。...else{ mDrawerLayout.openDrawer(v_menu_left); } } }   在布局文件中,第一个子控件是主布局,就是显示在界面中央的位置,然后第二个和第三个控件作为左菜单和右菜单在两隐藏...isDrawerOpen(View v) 该方法用来判断菜单是否处于打开状态,传入的是一个View,表示菜单的View,也就是左菜单或者是右菜单。...用这三个方法基本就可以实现上面的效果了,好了,简单的双向菜单就完成了,不需要使用自定义的控件,自定义的控件可能有更加丰富的动画效果,这就需要大家自己去是实现了。 源码下载点这里。

1K10

Android 抽屉菜单

抽屉菜单 前言 正文 一、创建项目 二、添加滑动菜单 三、UI美化 四、添加导航视图 五、菜单分类 六、动态菜单 七、源码 运行效果图: ?...布局介绍完毕了,下面我们通过点击主页面的按钮显示这个滑动菜单。...,如下所示,通过点击item的id进行判断,然后提示,之后关闭滑动菜单。...嗯,和预想的效果一致,这也是现在很多APP菜单的用法,基本上就差不多了。 五、菜单分类 假如上面的五个菜单是基础功能,那么下面再添加一个扩展菜单。...六、动态菜单   像这种导航菜单一般都是定好的,静态的。但是保不齐就有需要动态的菜单,需要去动态改变一些数据。而动态的菜单就不能再去使用刚才的这种方式添加item了,我们可以用列表来解决。

3.8K31
您找到你想要的搜索结果了吗?
是的
没有找到

使用SWRevealViewController实现菜单

Controller,这里可以为任何类型的, 2.2.1 创建完成后,左键点击SWRevealViewController的View Controller并按住control不放, 2.2.2 拖动到该菜单...controller set controller 2.2.4 点击两个ViewController 之间的链接线,在属性面板设置identifier 为sw_rear(不可为其他字符) 2.3 链接要显示菜单的...2.2.2 2.2.3 步骤,把SWRevealViewController 与你要显示的ViewController 链接起来,然后对链接线的identifier属性设置为sw_front(代表左侧菜单...结果如图,这里要注意一个问题,就是指向第一个显示ViewController的箭头 指向了SWRevealViewController; 因为我在实际开发中发现不指向这个ViewController 菜单不出现...,不知道是什么原因  2.4 在代码设置SWRevealViewController的一些属性和滑动事件 //菜单 if(self.revealViewController() !

94320

Android实现QQ菜单效果

QQ菜单的Android实现代码,供大家参考,具体内容如下 实现逻辑 1.先写出菜单页面和主页面的布局 2.创建一个类,继承RelativeLayout,实现里面的onLayout 3.在主布局文件中添加子空间...4.在onLayout里面获取子控件的宽和高,并对子控件的位置进行绘制 5.给子布局设置滑动事件,分别在手指落下\移动\抬起的时候,获取手指的位置 6.在手指移动的过程中,对菜单页面的移动距离进行限制...,防止菜单页面跑出指定的页面 7.在手指抬起的时候,判定一下手指移动的距离,如果移动的距离大于菜单页面宽度的一半,那就让菜单弹出,否则就让菜单回到默认的位置 8.针对菜单的弹出和收起,实现了一个渐变的过程...,防止手指抬起的时候,菜单页面会突然间到达指定的位置,这个功能的实现需要借助computeScroll方法 9.滑动冲突的处理,分别求出手指移动时,X和Y方向的偏移量,如果x方向的大于Y方向的,那就判定滑动事件是弹出和收起菜单...,否则就判定为菜单页面的内部滑动 代码文件 布局文件 菜单布局文件 <?

1.1K30

Android使用DrawerLayout实现菜单效果

一、概述 DrawerLayout是一个可以方便的实现Android菜单的组件,我最近开发的项目中也有一个菜单的功能,于是DrawerLayout就派上用场了。...在主要内容区域的后面添加视图(在本案例中是drawer_content.xml),并且通过设置layout_gravity来决定它是左还是右,通常这个视图的高度设为match_parent。...center" android:text="查询" android:textColor="@color/white" / </RelativeLayout </LinearLayout 这个布局文件就是视图...,因此视图的layout_gravity设置为right或者end,如果是左就设置为left或者start。...当我们手动控制视图的打开或者关闭的时候,需要执行以下代码: //close drawerLayout.closeDrawer(Gravity.RIGHT); //open drawerLayout.openDrawer

93140

史上最简单粗暴实现菜单

菜单可以拓展app的内容,充分利用手机屏幕,增加程序的可玩性。既然有这么多可供选择的菜单使用,那为什么我们还要自己写呢?...我觉得我们在使用菜单的时候应该要懂得其中的原理,更好的,可以自己写一个菜单来加深体会。 好了,话不多说。...来看看我们所谓“史上最简单粗暴实现的菜单”的产物吧: 菜单gif 看完了上面的gif,想不想自己也写一个呢,那还等什么,一起来看看喽。...首先来说一下菜单实现的思路:菜单的布局为MenuLayout,还有主页的布局为MainLayout。...以下是示意图: 菜单示意图 大概地了解思路以后,我们先来看看布局文件。 layout_slidemenu.xml(菜单的布局): <?

74720

DrawerLayout结合Tollbar实现菜单效果

本文实例为大家分享了DrawerLayout结合Tollbar实现菜单的具体代码,供大家参考,具体内容如下 ?...DrawerLayout(抽屉布局):谷歌官方的控件,可以简单的实现菜单; 此Demo主要是DrawerLayout结合Toolbar实现左上角返回键实现动画效果,点击左上角返回键实现动画效果并且滑出滑入菜单...-- 菜单 android:layout_gravity="start"从左边滑出 android:layout_gravity="end"从右边滑出 -- <LinearLayout...android:layout_width="match_parent" android:layout_height="match_parent" android:text="<em>侧</em><em>滑</em><em>菜单</em>...-- 左边的<em>侧</em><em>滑</em>箭头指示 是否翻转,颜色-- <style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle"

1.3K10

Android菜单之DrawerLayout用法详解

onConfigurationChanged最早的时候实现菜单功能大多时候需要通过github上一个叫做SlidingMenu的开源通过依赖包来实现,后来谷歌在v4包中添加了DrawerLayout...layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" //从左往右滑出菜单...,如果为end就是从右往左滑出菜单 android:background="#ffffcc" android:choiceMode="singleChoice" android:...,执行这个方法的时候会回调onPreareOptionsMenu(),所以我们可以在这里通过判断抽屉处于打开还是关闭状态,来进行一些操作,比如隐藏actionbar的菜单项。...既然要隐藏,那么前提是我们得有菜单项,这里先给actionbar添加一个搜索按钮,关于给ActionBar添加按钮的办法,在关于ActionBar的博客里已经讲过了,所以这里直接操作 res/values

1.8K10

Android中DrawerLayout实现菜单效果

众所周知,android里面我们很熟悉的一个功能,菜单效果在以前我们大部分都是用的slidingmenu这个开源框架,自从谷歌官方新出的一个DrawerLayout控件之后,越来越多的应用开始使用谷歌的官方的控件写这个效果了...-- 左边菜单 -- <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width...:menu="@menu/activity_main_drawer" / </android.support.v4.widget.DrawerLayout 然后在res文件夹里面添加一个menu菜单文件夹...,已经添加的就不用添加了 上面的代码里面NavigationView里面有个 app:menu=”@menu/activity_main_drawer”对应如下: 添加一个菜单文件,名字随意,我的是...drawer.closeDrawer(GravityCompat.START);//关闭滑动菜单 drawer.isDrawerOpen(GravityCompat.START);//判断滑动菜单是否打开

75610

关于安卓开发实现菜单效果

学习出处:http://blog.csdn.net/guolin_blog/article/details/8714621 这里不转载内容了,按照自己理解写一篇 菜单效果 就是手机版QQ的左侧向右滑动出现菜单栏的那一种效果...初始化的时候将菜单布局向左偏移,以至于能够完全隐藏,这样内容布局就会完全显示在Activity中。然后通过监听手指滑动事件,来改变菜单布局的左偏移距离,从而控制菜单布局的显示和隐藏。...menu是菜单,相当于显示个人信息的那个界面 (不截图了,因为QQ滑动缩小,本菜鸟做的滑动两个界面大小都不变化) ? 将菜单布局的左偏移值改成0时,效果图如下: ?...这是界面。...在onTouch事件里面,根据手指滑动的距离会改变菜单布局的左偏移量,从而控制菜单布局的显示和隐藏。

2.1K80

ViewDragHelper使用笔记及菜单实践

https://developer.android.com/reference/android/support/v4/widget/ViewDragHelper.html 该类主要用于拖拽view的实现,例如菜单时候的左右拖拽或者上下拖拽...就介绍这些吧 , 实现了一个可以自由拖动的layout 看Demo中的DragLayout ; https://github.com/sky-mxc/AndroidDemo/tree/master/drag 菜单实现...以前写过一个菜单,思路是重写 ListView或者RecycleView 的onTouch事件,判断根据坐标点判断找到子view,然后让子view滑动,从而实现的。...今天说一下另外一个思路, 写一个通用的布局,例如一个LineaLayout,里面定义两个Group,一个是item内容,另一个是Item 菜单;在LineaLayout内部定义一个ViewDragHelper...tryCaptureView(View child, int pointerId) { return child == mContentView || child == mActionView; } 因为实现的是菜单

1.3K60

Android自定义实现菜单效果

本文实例为大家分享了Android自定义实现菜单的具体代码,供大家参考,具体内容如下 实现原理:继承ViewGroup控件要显示到界面上需要重写OnMeature() OnLayout(),因此在实现...OnLayout()的时候,将菜单界面划出到屏幕左侧,动态改变菜单界面距离scrollXto()左边界的距离就能实现滑动效果。...-- 在SlidingMenu中的索引1 -- <include layout="@layout/main" / </com.oblivion.ui.SlideMenu menu菜单布局 <...textSize="20sp" / </LinearLayout 实现原理:继承ViewGroup控件要显示到界面上需要重写OnMeature() OnLayout(),因此在实现OnLayout()的时候,将菜单界面划出到屏幕左侧...,动态改变菜单界面距离scrollXto()左边界的距离就能实现滑动效果。

70530
领券