一个简易的悬浮窗实现方案
-
支持自定义布局的悬浮窗。
-
支持自定义拖动事件、点击事件。
-
支持悬浮窗自动吸附效果。
-
支持初始化悬浮窗的位置。
-
支持悬浮窗翻转吸附。
目前支持主流开发工具AndroidStudio的使用,直接配置build.gradle,增加依赖即可.
1.先在项目根目录的 build.gradle 的 repositories 添加:
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
2.然后在dependencies添加:
dependencies {
...
implementation 'com.github.xuexiangjys:XFloatView:1.0.1'
}
主要需要实现如下抽象方法:
/**
* @return 获取根布局的ID
*/
protected abstract int getLayoutId();
/**
* @return 能否移动或者触摸响应
*/
protected abstract boolean canMoveOrTouch();
/**
* 初始化悬浮控件
*/
protected abstract void initFloatView();
/**
* 初始化监听
*/
protected abstract void initListener();
/**
* @return 设置悬浮框是否吸附在屏幕边缘
*/
protected abstract boolean isAdsorbView();
FloatWindowPermission.getInstance().applyFloatWindowPermission(getContext());