返回项目
Android
Compose Float Window
Compose 悬浮窗
ComposeFloatWindow 让你直接在 Android 悬浮窗里写 @Composable,无需自定义 View。它完整实现 INITIALIZED → DESTROYED 生命周期状态机,自己持有 ViewModelStore / SavedStateRegistry / OnBackPressedDispatcher,不污染宿主 Activity。
Android 8+
能力
- Compose 原生,无需自定义 View
- 标准 Lifecycle,可与 viewModel()、BackHandler 协作
- 封装 SYSTEM_ALERT_WINDOW 权限检测
- Recomposer 自管理,避免协程泄漏
快速上手
FloatWindow.ktval floatWindow = ComposeFloatWindow(context).apply {
setContent {
Card(modifier = Modifier.padding(16.dp)) {
Text("你好,悬浮窗!")
}
}
}
if (floatWindow.isAvailable()) {
floatWindow.show()
}