开源项目 -- 悬浮窗口

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

项目截图:

开源项目 -- 悬浮窗口_第1张图片


项目简介:

主要包括5个类

开源项目 -- 悬浮窗口_第2张图片

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

开源项目 -- 悬浮窗口_第3张图片

其次,实例化FloatingActionMenu


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

开源项目 -- 悬浮窗口_第4张图片


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

开源项目 -- 悬浮窗口_第5张图片


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

开源项目 -- 悬浮窗口_第6张图片

你可能感兴趣的:(我的源码库)