开源项目 -- 悬浮窗口

来源:互联网 发布:stm32jlink 烧录软件 编辑:程序博客网 时间:2024/05/21 10:52

项目地址:https://github.com/oguzbilgener/CircularFloatingActionMenu

项目截图:



项目简介:

主要包括5个类


FloatingActionButton: 继承自FrameLayout,对应上图的 “+” 号图片,采用WindowManager 添加该 View,可悬浮在窗体中,因此类的名字前面有 Floating 字样。可以设置居中、左下、右上等等;

FloatingActionMenu: 自定义类,对应上面散列的四张小图之和,采用WindowsManager 添加该类,其监听了 FloatingActionButton 的点击事件,以打开或关闭menu;

SubActionButton: 继承自FrameLayout,上图中,每一个散列的小图都是一个SubActionButton实例,它是一个ViewGroup,可添加任意的container view。

DefaultAnimationHandler: 继承自MenuAnimationHandler,主要实现FloatingActionMenu的动画效果,其主要的两个方法是 animateMenuOpening() 和 animateMenuClosing(),且监听了动画的状态;

MenuAnimationHandler: 自定义动画抽象类,主要实现FloatingActionMenu的动画效果,监听了最后一个menu的动画状态。


用法:

参见 DemoActivity.java

首先,实例化FloatingActionButton


其次,实例化FloatingActionMenu


再次,监听FloatingActionMenu关闭和打开的状态



附修改后的效果图:制作gif太麻烦,贴一张打开和关闭的图,动画效果与上图一样



备注:因为采用WindowManager添加View,可以很方便地制作悬浮在桌面的悬浮窗


0 0
原创粉丝点击