android 悬浮按钮点击展开动画,android仿微信浮窗的自动贴边可展开悬浮按钮-博客...

简介

最近项目中需要做一个可展开的悬浮按钮,类似微信的浮窗功能。当一段时间不按按钮的时候,按钮能自动贴边,就像IOS的控制中心的功能。在Github上找了半天,找到一个大致符合要求的:FloatMenu,他里面写好了一个基类BaseFloatDailog,直接拿过来用就可以了。但是里面基类中有以下一些问题:

1.通过继承BaseFloatDailog的方式不能设置展开菜单控件的监听

2.构造函数中设置控件的监听会引起程序崩溃

3.在菜单展开后,再拖动菜单,当菜单折叠后,菜单会偏移到其他位置。

3.没有当菜单展开时,周围变暗的效果

4.没有当菜单展开时,点击外围菜单自动折叠的功能。

于是在FloatMenu的基础上,借鉴了以前使用的FloatingActionButtonSpeedDial中点击外围,展开菜单自动折叠的实现,自己解决了以上问题。效果如下:

c3d8c6c24cd8b0e6b8b0719a2a7a8473.gif

主要功能如下:

1.点击展开,再次点击关闭

2.可以拖动

3.展开后会有遮罩,遮罩颜色可以自己设置,点击遮罩展开菜单自动折叠

4.点击展开按钮监听

5.可设置距离顶部不可偏移的高度(如初始设置悬浮按钮不能高于状态栏)和距离底部不可偏移的高度(默认为0)。

使用方式:

直接将源码下载,将其中的类和资源文件拷贝到自己的项目中,再按照我的MainActivity中的写法使用即可。

如果要设置距离顶部和底部不可偏移的距离,直接在初始化时调用函数:

dialog.setOffsetToTop()和dialog.setOffsetToBottom()即可。

源码已经上传到github:https://github.com/MeteorCh/FloatWindow,需要的自取。如果感觉比较好用的话,记得给个star哦。

更新记录

2019.9.5更新:界面重做,使得界面更加扁平化,更加美观。同时支持设置文字功能,具体见代码。效果如下图所示:

rBAADF8xhhmAbuJFABkYq7bZBT0400.gif

致谢:

本帖子中包含资源

您需要 登录 才可以下载,没有帐号?立即注册

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值