当前位置: 首页 > news >正文

鸿蒙开发黑科技“stack叠层”替代customdialog

前一篇提到的问题,本篇博文提出了一个解决方案:

arkui-x LongPressGesture触发customdialog踩坑记录-CSDN博客

前一段时间遇到的这个问题,通过排除法观察,锁定为customdialog组件有bug,极为容易挂死。不论如何调整使用方法,都还是会触发挂死。

反馈给arkui团队,说是在最新版本里解决这个问题,但是最新版本什么时候出来不清楚,而项目开发还要继续。

后来甲方工程师提出了一个“stack叠层”方法,讨论下来,才发现我已经在项目中使用过这种方式。

1、基本概念和用法

就是stack容器,基本写法:

                Stack() {Text().height(135).width(241).borderRadius(24)Image($r(this.imageBackgroundImageList[6])).height(67).width(85)}

stack组件里,后出现的会覆盖前面的组件。

比如这里的image会覆盖在text上面。

利用这个特点,可以模拟很多复杂的组件交互性问题。

2、stack模拟弹窗效果,替代custom dialog

原代码是定义customdialog,通过LongPressGesture手势触发弹窗。

customdialog的特点是弹出和关闭时,都有一个动画效果,怀疑卡死的原因就是这个动画效果带来的并发渲染冲突。

现在我用stack叠层方式模拟实现类似custom dialog的弹窗,唯一的区别在于弹窗弹出和关闭没有动画效果。

custom dialog的核心代码如下:

http://www.lryc.cn/news/529848.html

相关文章:

  • FreeRTOS从入门到精通 第十五章(事件标志组)
  • 智慧园区管理平台实现智能整合提升企业运营模式与管理效率
  • markdown公式特殊字符
  • 【深度分析】微软全球裁员计划不影响印度地区,将继续增加当地就业机会
  • 学习数据结构(5)单向链表的实现
  • 刷题记录 HOT100回溯算法-5:22. 括号生成
  • Keepalived高可用集群企业应用实例二
  • C++计算特定随机操作后序列元素乘积的期望
  • c++字母大小写转换
  • MySQL知识点总结(十六)
  • Windows程序设计10:文件指针及目录的创建与删除
  • geolocator包的功能和用法
  • Node.js——body-parser、防盗链、路由模块化、express-generator应用生成器
  • 22.Word:小张-经费联审核结算单❗【16】
  • Agent 高频知识汇总:查漏补缺参考大全
  • 本地化部署DeepSeek-R1
  • 验证二叉搜索数(98)
  • StarRocks BE源码编译、CLion高亮跳转方法
  • 数模测评:doubao1.5>deepseek-v3>gpt-o1
  • 晴,初三,年已过
  • Vue3 v-bind 和 v-model 对比
  • Smalltalk语言是何物?面向对象鼻祖Simula的诞生?Simula和Smalltalk有什么区别?面向对象设计?
  • KVM/ARM——基于ARM虚拟化扩展的VMM
  • Windows系统中Docker可视化工具对比分析,Docker Desktop,Portainer,Rancher
  • 【架构面试】二、消息队列和MySQL和Redis
  • 算法【完全背包】
  • 二叉树的遍历
  • 1.31 实现五个线程的同步
  • three.js+WebGL踩坑经验合集(6.1):负缩放,负定矩阵和行列式的关系(2D版本)
  • 【开源免费】基于SpringBoot+Vue.JS体育馆管理系统(JAVA毕业设计)