news 2026/1/21 3:24:26

Compose 封装 - 倒计时消失容器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Compose 封装 - 倒计时消失容器

一、封装

  • 不要用封装 Dialog/AlertDialog 来实现弹窗。Dialog 作为基础组件就是个 Box 毫无意义,不必为了用它而多出很多不必要的代码 。AlertDialog 不基础但点击功能你往容器里传入的自定义界面也能实现。
  • 不要用收集 Flow 来实现倒数,collectAsState() 底层用了 remember 持久化,再次弹窗不会从头收集。
/** * 根布局用Box,该容器与屏幕内容平级,以实现类似对话框弹窗效果。 * @param maxCount 最大计数 * @param isShow 是否显示容器 * @param onDismiss 关闭容器显示 * @param content 容器界面内容 */ @Composable fun CountDownContainer( maxCount: Int, isShow: Boolean, onDismiss: () -> Unit, content: @Composable (Int) -> Unit ) { var count by remember { mutableIntStateOf(maxCount) } LaunchedEffect(isShow) { //it是从0开始正数,+1才能减到0(尽管多数1秒) repeat(maxCount + 1) { count = maxCount - it delay(1000) } } if (count == 0) onDismiss() //数到0就关闭容器 if (isShow) { content(count) } }

二、使用

@Composable private fun Demo( ) { var isShow by remember { mutableStateOf(false) } Button({ isShowDialog = true }) { Text("点击弹窗") } CountDownContainer( maxCount = 5, isShow = isShow, onDismiss = { isShow = false } ) { Box( modifier = Modifier.size(200.dp).background(Color.Red), contentAlignment = Alignment.Center ) { Text("$it") } } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/17 10:35:18

解锁黑箱模型:ALE方法如何重塑机器学习可解释性

解锁黑箱模型:ALE方法如何重塑机器学习可解释性 【免费下载链接】ALEPython 项目地址: https://gitcode.com/gh_mirrors/al/ALEPython 在大规模部署机器学习模型时,模型可解释性正成为企业决策的关键瓶颈。传统的特征解释工具在处理高度相关的特…

作者头像 李华
网站建设 2026/1/21 9:40:16

Qwen3-VL服装搭配推荐:用户自拍照生成穿搭灵感

Qwen3-VL服装搭配推荐:用户自拍照生成穿搭灵感 在智能手机普及和社交媒体盛行的今天,越来越多的人开始关注“如何穿得更好看”。但现实是,大多数人面对衣柜常常陷入选择困难——颜色怎么搭?款式是否显瘦?这件外套适合通…

作者头像 李华
网站建设 2026/1/19 7:58:55

uniapp+springboot微信小程序的新生报道报到系统

目录 摘要关键词 项目技术支持论文大纲核心代码部分展示可定制开发之亮点部门介绍结论源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 摘要 该系统基于UniApp和SpringBoot框架开发,旨在为高校新生提供便捷的线上报到服务。UniA…

作者头像 李华
网站建设 2026/1/19 13:11:33

3分钟上手Chrome二维码插件:跨设备传输的智能解决方案

3分钟上手Chrome二维码插件:跨设备传输的智能解决方案 【免费下载链接】chrome-qrcode chrome-qrcode - 一个 Chrome 浏览器插件,可以生成当前 URL 或选中文本的二维码,或解码网页上的二维码。 项目地址: https://gitcode.com/gh_mirrors/c…

作者头像 李华
网站建设 2026/1/16 23:02:31

3分钟掌握抖音直播一键保存终极方案

3分钟掌握抖音直播一键保存终极方案 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 还在为错过精彩直播而后悔吗?那些瞬间消失的干货分享、才艺表演和重要时刻,现在有了完美解决方案&…

作者头像 李华