DialogHub上线OpenHarmony开源社区,高效开发鸿蒙应用弹窗

作为鸿蒙应用开发者,在使用ArkUI现有能力进行弹窗开发时,总会遇到一些让人纠结的交互问题:应用内进行消息提示时,既要求消息内容支持图文混排,又要求弹窗本身不能打断用户交互(页面滑动、页面点击、键盘输入等操作);弹窗本身与弹窗蒙层的动画需要进行独立设置;弹窗避让键盘需要自定义避让距离;气泡提示的箭头需要进行自定义等。开发者需要开发很多额外的代码去解决这些交互问题,但通过"DialogHub"弹窗三方库,只需要一两个配置项就可以轻松解决上述问题。

"DialogHub"可高效地解决以下3点问题:1、上文提到的焦点、手势、动画等交互问题;2、弹窗需要与UI进行解耦。3、弹窗需要具备复用能力。接下来以具体示例说明:

"DialogHub"提供了多种配置选项解决弹窗的交互问题。例如,通过setConfig接口的passThroughGesture属性解决手势透传问题;requestFocusWhenShow属性解决焦点抢占问题;通过setAnimation接口的customMaskAnimation解决遮罩动画自定义的问题:

"DialogHub"支持UI解耦的弹窗能力。例如,在全局监听里创建弹窗(以气泡弹窗为例),通过链式调用的方式绑定目标组件并弹出:

"DialogHub"提供弹窗模板能力,便于开发者实现弹窗复用。以图文混排的消息提示框为例:

步骤一:使用"DialogHub"的createToastTemplate、register接口创建一个符合UX定义的消息提示框模板:

步骤二:使用"DialogHub"的getToastTemplate接口获取定义好的模板并弹出

在实际应用中,"DialogHub"的能力也得到了开发者的高度认可。据某头部App开发者反馈:"DialogHub"对系统弹窗进行了统一封装,链式调用学习成本低,一行代码就能完成弹窗属性配置,代码更加简洁清晰。

"DialogHub"的推出为开发者提供了一个开箱即用的弹窗管理解决方案,帮助开发者更高效地实现各种场景下的弹窗功能,显著降低学习成本与开发成本。目前,"DialogHub"已开源至OpenHarmony三方库中心仓以及Gitee平台。

开发者可访问"OpenHarmony官网",点击"开发者"------>"三方库中心仓"------>搜索"DialogHub";或登录"Gitee官网",首页搜索"DialogHub",快速下载集成,并参与代码贡献与问题反馈。共同提升鸿蒙应用的性能与体验。

未来华为也将持续携手生态伙伴共建创新,面向底座技术、通用能力、垂类行业等场景推出系列开发者场景化解决方案,不断提升鸿蒙应用的创新体验和开发效率,与广大开发者共建繁荣的鸿蒙生态。

更多关于"DialogHub"的信息和使用指南,请访问:

developer.huawei.com/consumer/cn...

gitee.com/hadss/Dialo...

ohpm.openharmony.cn/#/cn/detail...

相关推荐
陈随易1 天前
有生之年系列,Nodejs进程管理pm2 v7.0发布
前端·后端·程序员
冰暮流星1 天前
javascript之事件代理/事件委托
前端
陈随易1 天前
AI时代,你还在坚持手搓文章吗
前端·后端·程序员
里欧跑得慢1 天前
17. Flutter Hero动画实现:让界面过渡更加优雅
前端·css·flutter·web
IT_陈寒1 天前
Vue的这个响应式陷阱,我debug了一整天才爬出来
前端·人工智能·后端
kyriewen1 天前
前端测试:别为了100%覆盖率而写测试,那是自欺欺人
前端·javascript·单元测试
去伪存真1 天前
我自己写的第一个skills--project-core-standards
前端·agent
Data_Journal1 天前
如何使用cURL更改User Agent
大数据·服务器·前端·javascript·数据库
竹林8181 天前
wagmi v2 多链钱包切换:一个 Uniswap 仿盘项目让我踩了三天坑
前端·javascript
donecoding1 天前
Playwright MCP 页面捕获:Snapshot、截图、HTML 到底选哪个?
前端·ai编程·前端工程化