Skip to content

API 速查

petterp edited this page Aug 30, 2026 · 1 revision

API 速查

本页汇总 3.0 公开 API 的日常用法:FxControl 的控制方法、FxListener 的回调、以及 FloatingX 注册表。 配置项(锚点 / 手势 / 吸附 / 动画等)见 配置项

FxControl

install / create 的返回值,也是之后操作浮窗的唯一入口:

control.show(); control.hide(); control.cancel()          // cancel() 幂等;cancel 之后 show/hide/moveTo/moveBy 抛 IllegalStateException
control.moveTo(100f, 200f); control.moveTo(100f, 200f, animate = true)
control.moveBy(-20f, 0f); control.moveBy(-20f, 0f, animate = true)
control.update { anchor(FxGravity.BOTTOM_END); gesture { drag = FxDrag.DISABLED } }   // 局部改配置
control.setContent(FxContent.layout(R.layout.fx_card))    // 整体换内容
control.updateContent { it.setText(R.id.tvTitle, "Hi") }  // 改内容里的 view(show 之前也可用)
control.addListener(listener); control.removeListener(listener)
control.addFeature(feature); control.removeFeature(feature)

control.tag; control.state; control.isShowing
control.position        // 内容左上角的屏幕坐标,三种 host 语义一致
control.anchor; control.config; control.host; control.contentView; control.holder
control.attachedActivity  // floatingx-app 扩展:当前挂在哪个 Activity 上

FxStateINSTALLED(已创建,容器未挂载)→ ATTACHED(已挂载但不可见)→ SHOWN(可见), 终态 CANCELLED

control.update {} 用的就是 install 时的那套 DSL,未显式设置的项沿用旧值,详见 配置项control.attachedActivity 只在 App 级浮窗上有意义,见 App 级全局浮窗

FxListener(全部有默认实现,只覆写用得上的)

监听器归 control 所有,addListener / removeListener 随时可调:

onAttach / onDetach / onShow / onHide / onCancel
onClick(control, view) / onLongClick(control, view)
onDragStart(control) / onDrag(control, x, y) / onDragEnd(control, x, y)   // x/y 相对容器
onPositionChanged(control, anchor)                                        // 锚点提交后,可判断贴在哪条边

FloatingX 注册表

全局浮窗按 tag 注册;局部浮窗(局部浮窗)不进注册表:

FloatingX.install(tag) { … }        // 安装并注册;同 tag 已存在会先 cancel 旧的
FloatingX.create(tag) { … }         // 创建但不注册,生命周期归调用方(局部浮窗)
FloatingX.control(tag)              // 取不到抛异常
FloatingX.controlOrNull(tag)
FloatingX.controls()                // 当前所有全局浮窗的快照
FloatingX.isInstalled(tag)
FloatingX.uninstall(tag) / FloatingX.uninstallAll()

tag 缺省为 FloatingX.DEFAULT_TAG。局部浮窗的 tag 只用于日志与位置持久化的存储键(留空则不持久化)。


返回 Home · 相关:配置项 App 级全局浮窗 局部浮窗 常见问题

Clone this wiki locally