欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > 鸿蒙开发黑科技“stack叠层”替代customdialog

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

2026/2/3 22:46:10 来源:https://blog.csdn.net/taopi2001/article/details/145337330  浏览:    关键词:鸿蒙开发黑科技“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的核心代码如下:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词