如何在Kotlin中实现Wear端自动消失的无按钮Confirmation Overlay
Kotlin Wear 端全屏自动消失提示弹窗实现
需求:实现一个无按钮、显示2-3行文字的全屏提示弹窗,3秒后自动消失。
一、传统View系统实现(Kotlin版本)
如果项目仍使用传统View系统,可通过ConfirmationOverlay实现:
// 自定义配置:3秒后消失,显示多行提示文字 ConfirmationOverlay() .setType(ConfirmationOverlay.GENERIC_ANIMATION) // 可替换为SUCCESS_ANIMATION/FAILURE_ANIMATION等 .setDuration(3000) .setMessage("第一行提示\n第二行说明\n第三行补充") .setOnAnimationFinishedListener { // 弹窗消失后的回调逻辑 } .showOn(this) // 在Activity中调用
二、Jetpack Compose 实现(经验证可用)
对于使用Jetpack Compose的Wear项目,以下是更简洁的实现方式:
@Composable fun FullScreenAutoDismissConfirmation() { var showConfirmation by remember { mutableStateOf(true) } if (showConfirmation) { Confirmation( onTimeout = { showConfirmation = false // 弹窗消失后可执行的逻辑,如页面跳转等 }, durationMillis = 3000, // 设置3秒自动消失 ) { Text( text = "这是第一行提示文字\n第二行说明内容\n第三行补充信息", textAlign = TextAlign.Center, modifier = Modifier.fillMaxWidth() ) } } }
使用说明
- 在Wear Compose主界面中直接调用
FullScreenAutoDismissConfirmation()即可,弹窗会自动显示 - 组件默认支持右滑手动关闭
- 可修改
Text的text参数自定义多行提示内容 - 确保项目已引入Wear Compose相关依赖
内容的提问来源于stack exchange,提问作者Alexander Fedorov
相关产品推荐
相关产品推荐

