首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Android实现QQ菜单效果

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

1.1K30

qq

上一篇博客带大家实现了:Android 自定义控件打造史上最简单的菜单 ,有兄弟看了以后说,你这滑动菜单过时了呀~QQ5.0的效果还不错~~嗯,的确,上一篇也承诺过,稍微修改上一篇的代码,实现QQ5.0...菜单~~好了,下面就开始为大家展示写一个类QQ有多easy ~!...差距还是蛮大的 区别1、QQ的内容区域会伴随菜单的出现而缩小 区别2、QQ菜单给人的感觉是隐藏在内容的后面,而不是拖出来的感觉 区别3、QQ菜单有一个缩放以及透明度的效果~ 那么我们如何能做到呢...还是有一点拖出的感觉,所以我们的偏移量这么设置: tranlateX = mMenuWidth * scale * 0.6f ;刚开始还是让它隐藏一点点~~~ 4、完整的实现 说了这么多,其实到上一篇史上最简单的...;所以这里就没有抽取了,不然总觉得是在重复~ 嗯,最近还有写APP的,是这样的,就是菜单栏完全隐藏在内容区域下面,如果需要这样需求的: ?

2.1K60

Flutter | 超简单仿微信QQ菜单组件

滑出菜单,在Flutter 当中,这种需求怎么实现? 看一下实现的效果: ?...需求分析 老套路,先分析一下需求: 1.首先可以滑出菜单2.菜单滑动到一定距离完全滑出,未达到距离回滚3.菜单数量、样式随意定制4.菜单点击回调5.菜单展开时,点击 item 收回菜单(见QQ) 代码实现...首先可以滑出菜单 最基本的,菜单要能的出来,我们思考一下,如何能在屏幕外面放置 Widget,并且还能滑动?...菜单数量、样式随意定制 这个其实很简单,让「用户」来传入就好了, 我只需要控制 menu 的宽度。...菜单展开时,点击 item 收回菜单 也就是 菜单展开时,点击了 item 的话,要先收回菜单QQ 就是如此。

2.2K32

Android 抽屉菜单

抽屉菜单 前言 正文 一、创建项目 二、添加滑动菜单 三、UI美化 四、添加导航视图 五、菜单分类 六、动态菜单 七、源码 运行效果图: ?...嗯,和预想的效果一致,这也是现在很多APP菜单的用法,基本上就差不多了。 五、菜单分类 假如上面的五个菜单是基础功能,那么下面再添加一个扩展菜单。...六、动态菜单   像这种导航菜单一般都是定好的,静态的。但是保不齐就有需要动态的菜单,需要去动态改变一些数据。而动态的菜单就不能再去使用刚才的这种方式添加item了,我们可以用列表来解决。...而为了简化RecyclerView的使用,我打算引入帮助的库,而为了模拟真实的接口返回数据,也会使用一个Json解析库。..." ],\n" + " \"msg\":\"Success\"\n" + "}"; } 里面是我们返回的数据JSON字符串,用这种方式来模拟真实返回数据

3.9K31

Android使用DrawerLayout仿QQ6.0双菜单

本文实例为大家分享了Android使用DrawerLayout仿QQ6.0双菜单的具体代码,供大家参考,具体内容如下 ? 上面是效果图。...相关实现的源码和文章网上已经很多了,比较流行的做法分别是使用 FrameLayout, HorizontalScrollView或者是DrawerLayout 其实要实现QQ 6.X版本效果最好的方案是使用...HorizontalScrollView,因为左侧菜单的透视效果在DrawerLayout下无法实现,或者说实现起来很麻烦,所以在这里我们还是先介绍使用DrawerLayout来制作效果,毕竟是官方给的控件...从这里我们可以看出,菜单栏一定是显示在主界面上面的,所以,QQ6.0的菜单透视效果这里无法实现,因为菜单栏会覆盖掉主界面的一部分内容。...这里对于当前操作是哪个菜单的判断是通过TAG判断的。 源码下载:使用DrawerLayout仿QQ6.0双菜单 以上就是本文的全部内容,希望对大家的学习有所帮助。

56231

使用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() !

98320

Flutter:手把手教你实现一个仿QQ菜单

作者:吉原拉面 https://juejin.im/post/5bcd74e46fb9a05d10141bd3  一个类似于QQ菜单的功能,支持从上、下、左、右四个方法打开菜单栏。...菜单的实现其实就是上层布局随着用户手势,更改自身的位置,从而让底层菜单栏展示出来。明白了这么一个过程之后,一切就都好办了。   ...当然,我们实现简单的功能并不需要这么复杂,因为没有涉及到滑动冲突,我们只需使用系统自带的HorizontalDragGestureRecognizer类就可以了。...QQ菜单的解决方案是:用户手指超过了某个边界值则自动完成打开操作;若未达到边界值,则取消这个打开操作: ?   ...widget.drawer, widget.child, ], ); } } 4.细节修饰   到此为止,我们已经完成了90%的工作了,接下来就是修饰一些细节了,我们添加一些属性,让菜单体验更加友好

2K10

Android自定义View 仿QQ菜单的实现代码

先看看QQ效果 ? 分析一下 先上原理图(不知道能否表达的清楚 ==) ?...-首先这里使用了 Android 的HorizontalScrollView 水平滑动布局作为容器,当然我们需要继承它自定义一个视图 – 这个容器里面有一个父布局(一般用LinerLayout,本demo...--android:tag="0" / -- </fierce_luk.com.sideslipviewdemo2.SideslipView 自定义的视图 最核心的部分 public class..." + oldl + " oldt=" + oldt); // scale 在 1 到 0 之间 float scale = l * 1.0f / mBluetoothWidth; /** * 抽屉式...总结 以上所述是小编给大家介绍的Android自定义View 仿QQ菜单的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。

82420

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

95940

史上最简单粗暴实现菜单

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

86920

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.9K10
领券