https://github.com/xuexiangjys/xfloatview
一个简易的悬浮窗实现方案
https://github.com/xuexiangjys/xfloatview
android android-ui x-library xui
Last synced: 4 months ago
JSON representation
一个简易的悬浮窗实现方案
- Host: GitHub
- URL: https://github.com/xuexiangjys/xfloatview
- Owner: xuexiangjys
- Created: 2018-09-13T03:55:32.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-12-15T05:36:52.000Z (over 2 years ago)
- Last Synced: 2024-02-29T16:32:00.314Z (over 2 years ago)
- Topics: android, android-ui, x-library, xui
- Language: Java
- Size: 3.18 MB
- Stars: 66
- Watchers: 3
- Forks: 16
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# XFloatView
[![xfv][xfvsvg]][xfv] [![api][apisvg]][api]
一个简易的悬浮窗实现方案
## 关于我
[](https://github.com/xuexiangjys) [](http://blog.csdn.net/xuexiangjys)
## 特征
* 支持自定义布局的悬浮窗。
* 支持自定义拖动事件、点击事件。
* 支持悬浮窗自动吸附效果。
* 支持初始化悬浮窗的位置。
* 支持悬浮窗翻转吸附。
--------
## 1、演示(请star支持)
### 1.1、Demo演示动画
![][demo-gif]
### 1.2、Demo下载
[![downloads][download-svg]][download-url]
![][download-img]
## 2、如何使用
目前支持主流开发工具AndroidStudio的使用,直接配置build.gradle,增加依赖即可.
### 2.1、Android Studio导入方法,添加Gradle依赖
1.先在项目根目录的 build.gradle 的 repositories 添加:
```
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
```
2.然后在dependencies添加:
```
dependencies {
...
implementation 'com.github.xuexiangjys:XFloatView:1.0.1'
}
```
### 2.2、继承XFloatView,实现自定义窗体
主要需要实现如下抽象方法:
```
/**
* @return 获取根布局的ID
*/
protected abstract int getLayoutId();
/**
* @return 能否移动或者触摸响应
*/
protected abstract boolean canMoveOrTouch();
/**
* 初始化悬浮控件
*/
protected abstract void initFloatView();
/**
* 初始化监听
*/
protected abstract void initListener();
/**
* @return 设置悬浮框是否吸附在屏幕边缘
*/
protected abstract boolean isAdsorbView();
```
[点击查看示例代码](https://github.com/xuexiangjys/XFloatView/tree/master/app/src/main/java/com/xuexiang/xfloatviewdemo/widget)
### 2.3、悬浮窗的权限申请
```
FloatWindowPermission.getInstance().applyFloatWindowPermission(getContext());
```
## 联系方式
[](http://shang.qq.com/wpa/qunwpa?idkey=9922861ef85c19f1575aecea0e8680f60d9386080a97ed310c971ae074998887)

[xfvsvg]: https://img.shields.io/badge/XFloatView-v1.0.1-brightgreen.svg
[xfv]: https://github.com/xuexiangjys/XFloatView
[apisvg]: https://img.shields.io/badge/API-14+-brightgreen.svg
[api]: https://android-arsenal.com/api?level=14
[demo-gif]: https://github.com/xuexiangjys/XFloatView/blob/master/img/demo.gif
[download-svg]: https://img.shields.io/badge/downloads-1.5M-blue.svg
[download-url]: https://github.com/xuexiangjys/XFloatView/blob/master/apk/xfloatview_demo_1.0.apk?raw=true
[download-img]: https://github.com/xuexiangjys/XFloatView/blob/master/img/download.png