android 悬浮按钮点击展开动画,android仿微信浮窗的自动贴边可展开悬浮按钮-博客...
简介
最近项目中需要做一个可展开的悬浮按钮,类似微信的浮窗功能。当一段时间不按按钮的时候,按钮能自动贴边,就像IOS的控制中心的功能。在Github上找了半天,找到一个大致符合要求的:FloatMenu,他里面写好了一个基类BaseFloatDailog,直接拿过来用就可以了。但是里面基类中有以下一些问题:
1.通过继承BaseFloatDailog的方式不能设置展开菜单控件的监听
2.构造函数中设置控件的监听会引起程序崩溃
3.在菜单展开后,再拖动菜单,当菜单折叠后,菜单会偏移到其他位置。
3.没有当菜单展开时,周围变暗的效果
4.没有当菜单展开时,点击外围菜单自动折叠的功能。
于是在FloatMenu的基础上,借鉴了以前使用的FloatingActionButtonSpeedDial中点击外围,展开菜单自动折叠的实现,自己解决了以上问题。效果如下:
主要功能如下:
1.点击展开,再次点击关闭
2.可以拖动
3.展开后会有遮罩,遮罩颜色可以自己设置,点击遮罩展开菜单自动折叠
4.点击展开按钮监听
5.可设置距离顶部不可偏移的高度(如初始设置悬浮按钮不能高于状态栏)和距离底部不可偏移的高度(默认为0)。
使用方式:
直接将源码下载,将其中的类和资源文件拷贝到自己的项目中,再按照我的MainActivity中的写法使用即可。
如果要设置距离顶部和底部不可偏移的距离,直接在初始化时调用函数:
dialog.setOffsetToTop()和dialog.setOffsetToBottom()即可。
源码已经上传到github:https://github.com/MeteorCh/FloatWindow,需要的自取。如果感觉比较好用的话,记得给个star哦。
更新记录
2019.9.5更新:界面重做,使得界面更加扁平化,更加美观。同时支持设置文字功能,具体见代码。效果如下图所示:
致谢:
本帖子中包含资源
您需要 登录 才可以下载,没有帐号?立即注册
android 悬浮按钮点击展开动画,android仿微信浮窗的自动贴边可展开悬浮按钮-博客...相关推荐
- android 微信浮窗实现_Android仿微信视屏悬浮窗效果
在项目中需要对接入的腾讯云音视频,可以悬浮窗显示,悬浮窗可拖拽,并且在悬浮窗不影响其他的activity的焦点. 这个大神的文章Android基于腾讯云实时音视频仿微信视频通话最小化悬浮,他讲的是视频 ...
- Android显示九宫图(自定义圆角,仿微信九宫格图)
详细解析Android显示九宫图(自定义圆角,仿微信九宫格图) 这是一个自定义九宫格图片框架,里面有设置圆角大小,还有当图片一张的时候控件自定义的大小,图片的间隔,四张图片的时候图片自定义为两行两列等 ...
- android listview item 展开动画,android的ListView点击item使item展开的做法的实现代码
本文介绍了android的ListView点击item使item展开的做法的实现代码,分享给大家,具体如下: 效果图: 原理是点击item的时候,重新measure list的各个item的高度 li ...
- android从一点展开动画,Android自定义View——从零开始实现可展开收起的水平菜单栏...
大家要是看到有错误的地方或者有啥好的建议,欢迎留言评论 前言:最近项目里要实现一个 可展开收起的水平菜单栏控件,刚接到需求时想着用自定义View自己来绘制,发现要实现 圆角.阴影.菜单滑动等效果非常复 ...
- android银行卡匹配、详情展开动画、仿爱奇艺视频拖拽、扫码识别手机号等源码...
Android精选源码 android实现银行卡匹配信息源码 android实现可以展开查看详情的卡片 下拉刷新,上拉加载,侧滑显示菜单等效果RefreshSwipeRecyclerview andr ...
- android银行卡匹配、详情展开动画、仿爱奇艺视频拖拽、扫码识别手机号等源码
Android精选源码 android实现银行卡匹配信息源码 android实现可以展开查看详情的卡片 下拉刷新,上拉加载,侧滑显示菜单等效果RefreshSwipeRecyclerview andr ...
- android中点击加号动画,android animation之scale 缩放(仿微信加号弹出菜单的动画效果)...
仿微信 +号 处理事件:弹出菜单的动画效果--缩放(反义词) 放大效果(缩小的代码只需将fromXScale和toXScale,:fromYScale和toYScale变换) android:inte ...
- appium java 点击事件_“按钮点击”在Appium Android测试中给出“处理命令时出现未知的服务器端错误 . ”...
info:[debug]将命令推送到appium工作队列:["element:getSize",{"elementId":"2"}] inf ...
- android 动画 拖拽,android银行卡匹配、详情展开动画、仿爱奇艺视频拖拽、扫码识别手机号等源码...
Android精选源码 Android优质博客 目录- 1.效果图- 2.分析- 3.SurfaceView注意事项- 4.实战- 5.总结-废话不多说先上图!... 阅读原文 安卓App稳定性之旅- ...
- android 辐射动画_Android仿微信雷达辐射搜索好友(逻辑清晰实现简单)
不知不觉这个春节也已经过完了,遗憾家里没网,没能及时给大家送上祝福,今天回到深圳,明天就要上班了,小伙伴们是不是和我一样呢?今天讲的是一个大家都见过的动画,雷达搜索好友嘛,原理也十分的简单,你看完我的 ...
最新文章
- hibernate 和 mybatis 的区别
- Linux 批量kill死进程
- 揭秘人工智能面试内容:8家国际巨头机器学习面试题目整理
- WCF系列(五) -- 也谈序列化(下)
- ThingJS:部署物联网不用买买买,互联互动是切入点
- JavaScript学习总结(六)——JavaScript判断数据类型总结
- php curl 采集文件,curl获取远程文件内容
- python多线程提高速度_Python3如何使用多线程升程序运行速度
- github 新建远程仓库 及 删除远程仓库
- CAD图纸、影像地形、倾斜摄影、矢量数据统统搬入图新地球,一键浏览分析
- FFT蝶形算法的verilog实现专题——从FFT算法的定义开始入手
- 游戏测试(面试可用)
- ntfs linux,NTFS-3G (简体中文)
- android远程输入法,远程输入法
- CS61C Spring 2021——Project 3: CS61CPU要求及实现思路
- 网络层(四)划分子网
- VS2015编辑图片
- 软件开发生命周期(SDLC) 【详解】(含公司产品研发流程图、大厂研发架构图、大厂研发流程图)
- Python tkinter库:简易画板(笔、直线、矩形、圆形和橡皮擦工具+导入、保存、撤销、清屏功能)
- 罗马音平假字复制_罗马音平假名和片假名大全
热门文章
- struct 结构体 所占字节数的计算
- advanced option里面没有resolution
- 边界路由linux,路由表构成简介(Destination/Gateway/Genmask/Iface)
- 密西根州立大学计算机排名,美国密西根州立大学 Alex X. Liu 教授来我校作学术讲座...
- 计算机专业sci二区难吗,二区的sci有多难?sci二区版面费一般多少?
- Skywalking应用
- teamviewer介绍及操作
- 2021年 阿里云商标注册申请的相关详情及分类介绍
- Cfree-5各种抽风解决办法
- linux mint运行速度,Linux Mint 19 Tara Cinnamon启动应用速度将会更快