DialogHub上线OpenHarmony开源社区,高效开发鸿蒙应用弹窗
<p style="font-weight: 400">作为鸿蒙应用开发者,在使用ArkUI现有能力进行弹窗开发时,总会遇到一些让人纠结的交互问题:应用内进行消息提示时,既要求消息内容支持图文混排,又要求弹窗本身不能打断用户交互(页面滑动、页面点击、键盘输入等操作);弹窗本身与弹窗蒙层的动画需要进行独立设置;弹窗避让键盘需要自定义避让距离;气泡提示的箭头需要进行自定义等。开发者需要开发很多额外的代码去解决这些交互问题,但通过“DialogHub”弹窗三方库,只需要一两个配置项就可以轻松解决上述问题。</p><p style="font-weight: 400">“DialogHub”可高效地解决以下3点问题:1、上文提到的焦点、手势、动画等交互问题;2、弹窗需要与UI进行解耦。3、弹窗需要具备复用能力。接下来以具体示例说明: </p>
<p style="font-weight: 400">“DialogHub”提供了多种配置选项解决弹窗的交互问题。例如,通过setConfig接口的passThroughGesture属性解决手势透传问题;requestFocusWhenShow属性解决焦点抢占问题;通过setAnimation接口的customMaskAnimation解决遮罩动画自定义的问题:</p>
<p style="font-weight: 400"><img src="https://img2024.cnblogs.com/blog/3637060/202504/3637060-20250428175315591-244715395.gif" width="600" style="display: block; margin-left: auto; margin-right: auto"></p>
<p style="font-weight: 400">DialogHub”支持UI解耦的弹窗能力。例如,在全局监听里创建弹窗(以气泡弹窗为例),通过链式调用的方式绑定目标组件并弹出:</p>
<p style="font-weight: 400"><img src="https://img2024.cnblogs.com/blog/3637060/202504/3637060-20250428175352191-1474437176.gif" width="600" style="display: block; margin-left: auto; margin-right: auto"></p>
<p style="font-weight: 400">DialogHub”提供弹窗模板能力,便于开发者实现弹窗复用。以图文混排的消息提示框为例:</p>
<p style="font-weight: 400">步骤一:使用“DialogHub”的createToastTemplate、register接口创建一个符合UX定义的消息提示框模板:</p>
<p id="1745834036969"> </p>
<p style="font-weight: 400"><img src="https://img2024.cnblogs.com/blog/3637060/202504/3637060-20250428175418862-1401938531.gif" width="600" style="display: block; margin-left: auto; margin-right: auto"></p>
<p style="font-weight: 400">步骤二:使用“DialogHub”的getToastTemplate接口获取定义好的模板并弹出</p>
<p style="font-weight: 400"><img src="https://img2024.cnblogs.com/blog/3637060/202504/3637060-20250428175451996-1767664947.gif" width="600" style="display: block; margin-left: auto; margin-right: auto"></p>
<p style="font-weight: 400">在实际应用中,“DialogHub”的能力也得到了开发者的高度认可。据某头部App开发者反馈:“DialogHub”对系统弹窗进行了统一封装,链式调用学习成本低,一行代码就能完成弹窗属性配置,代码更加简洁清晰。</p>
<p style="font-weight: 400">“DialogHub”的推出为开发者提供了一个开箱即用的弹窗管理解决方案,帮助开发者更高效地实现各种场景下的弹窗功能,显著降低学习成本与开发成本。目前,“DialogHub”已开源至OpenHarmony三方库中心仓以及Gitee平台。</p>
<p id="1745834063397"> </p>
<p style="font-weight: 400"><img src="https://img2024.cnblogs.com/blog/3637060/202504/3637060-20250428175519077-466228358.gif" width="800" style="display: block; margin-left: auto; margin-right: auto"></p>
<p style="font-weight: 400"><img src="https://img2024.cnblogs.com/blog/3637060/202504/3637060-20250428175531814-2124935251.gif" width="800" style="display: block; margin-left: auto; margin-right: auto"></p>
<p id="1745834153761"> </p>
<p style="font-weight: 400">开发者可访问“OpenHarmony官网”,点击“开发者”——>“三方库中心仓”——>搜索“DialogHub”;或登录“Gitee官网”,首页搜索“DialogHub”,快速下载集成,并参与代码贡献与问题反馈。共同提升鸿蒙应用的性能与体验。</p>
<p style="font-weight: 400">未来华为也将持续携手生态伙伴共建创新,面向底座技术、通用能力、垂类行业等场景推出系列开发者场景化解决方案,不断提升鸿蒙应用的创新体验和开发效率,与广大开发者共建繁荣的鸿蒙生态。</p><br><br>
来源:https://www.cnblogs.com/HarmonyOS5/p/18852180
頁:
[1]