【亲测免费】 FloatingX 开源项目教程
2026-01-16 09:43:06作者:苗圣禹Peter
项目介绍
FloatingX 是一个灵活且强大的悬浮窗解决方案,支持系统浮窗、应用内浮窗和局部浮窗。它提供了丰富的功能,如边缘吸附、回弹、自定义动画、位置保存、窗口化及分屏后位置修复等。FloatingX 支持 JetPack Compose,并且对 Kotlin 和 Java 都有良好的兼容性。
项目快速启动
添加依赖
首先,在项目的 build.gradle 文件中添加以下依赖:
dependencies {
implementation 'io.github.petterpx:floatingx:2.2.4'
}
初始化悬浮窗
在需要使用悬浮窗的 Activity 或 Fragment 中,初始化并显示悬浮窗:
import io.github.petterpx.floatingx.FloatingX
import io.github.petterpx.floatingx.helper.FxScopeType
FloatingX.install {
setContext(context)
setLayout(R.layout.item_floating)
setScopeType(FxScopeType.SYSTEM_AUTO)
}.show()
应用案例和最佳实践
系统浮窗
系统浮窗需要特殊权限,可以在 AndroidManifest.xml 中声明权限:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" />
应用内浮窗
应用内浮窗不需要特殊权限,可以直接在应用内显示:
FloatingX.install {
setContext(context)
setLayout(R.layout.item_floating)
setScopeType(FxScopeType.APP)
}.show()
局部浮窗
局部浮窗可以在 ViewGroup、Fragment 或 Activity 中显示:
val scopeHelper = ScopeHelper.builder {
setLayout(R.layout.item_floating)
}.build()
FloatingX.install(scopeHelper).show()
典型生态项目
FloatingX 可以与其他 Android 开源项目结合使用,例如:
- JetPack Compose: 结合 JetPack Compose 实现现代化的 UI 开发。
- RxJava: 使用 RxJava 处理悬浮窗的事件流。
- Room: 结合 Room 数据库保存悬浮窗的位置信息。
通过这些组合,可以进一步扩展 FloatingX 的功能,实现更加复杂和强大的悬浮窗应用。
登录后查看全文
项目优选
收起
deepin linux kernel
C
27
11
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
510
3.68 K
Ascend Extension for PyTorch
Python
308
352
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
872
515
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
330
144
暂无简介
Dart
751
180
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
11
1
Dora SSR 是一款跨平台的游戏引擎,提供前沿或是具有探索性的游戏开发功能。它内置了Web IDE,提供了可以轻轻松松通过浏览器访问的快捷游戏开发环境,特别适合于在新兴市场如国产游戏掌机和其它移动电子设备上直接进行游戏开发和编程学习。
C++
52
7
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
66
20
React Native鸿蒙化仓库
JavaScript
298
347