作为鸿蒙运用开发者 ,上社区使用在运用 ArkUI 现有才能进行弹窗开发时,开源开总会遇到一些让人纠结的高效交互问题:运用内进行音讯提示时,既要求音讯内容支撑图文混排 ,鸿蒙又要求弹窗自身不能打断用户交互(页面滑动、弹窗页面点击 、上社区使用键盘输入等操作);弹窗自身与弹窗蒙层的开源开动画需求进行独立设置;弹窗躲避键盘需求自界说躲避间隔;气泡提示的箭头需求进行自界说等。开发者需求开发许多额定的高效代码去处理这些交互问题,但经过“DialogHub”弹窗三方库,鸿蒙只需求一两个装备项就可以轻松处理上述问题。弹窗
“DialogHub”可高效地处理以下 3 点问题 :1、上社区使用上文说到的开源开焦点、手势、高效动画等交互问题;2、鸿蒙弹窗需求与 UI 进行解耦。弹窗3 、弹窗需求具有复用才能。接下来以详细示例阐明:
“DialogHub”供给了多种装备选项处理弹窗的交互问题。例如,经过 setConfig 接口的 passThroughGesture 特点处理手势透传问题;requestFocusWhenShow 特点处理焦点抢占问题;经过 setAnimation 接口的 customMaskAnimation 处理遮罩动画自界说的问题 :
“DialogHub”支撑 UI 解耦的弹窗才能。例如,在大局监听里创立弹窗 (以气泡弹窗为例) ,经过链式调用的方法绑定方针组件并弹出 :
“DialogHub”供给弹窗模板才能 ,便于开发者完结弹窗复用 。以图文混排的音讯提示框为例 :
过程一 :运用“DialogHub”的 createToastTemplate 、register 接口创立一个契合 UX 界说的音讯提示框模板 :
过程二 :运用“DialogHub”的 getToastTemplate 接口获取界说好的模板并弹出 。