【每日学点 HarmonyOS Next 知识】防止重复点击、对话框收拾拦截、自定义键盘焦点、页面层级、自定义对话框创建

1、HarmonyOS onClick 点击事件,如何实现重复点击同一个按钮或 toggle,两次间隔时间过短则失效,来防止重复点击?
onClick 点击事件,如何实现重复点击同一个按钮或 toggle,两次间隔时间过短则失效,来防止重复点击
参考 demo:
2、HarmonyOS CustomDialog 弹窗,返回手势时会消失,在哪里可以拦截这个事件?
说明:
当用户执行点击遮障层关闭、左滑/右滑、三键 back、键盘 ESC 关闭交互操作时,如果注册该回调函数,则不会立刻关闭弹窗。在回调函数中可以通过 reason 得到阻拦关闭弹窗的操作类型,从而根据原因选择是否能关闭弹窗。当前组件返回的 reason 中,暂不支持 CLOSE_BUTTON 的枚举值。
在 onWillDismiss 回调中,不能再做 onWillDismiss 拦截。
3、HarmonyOS 如何控制自定义键盘获取焦点和失去焦点?
如何控制自定义键盘获取焦点和失去焦点
参考 demo:
4、HarmonyOS har 默认 router 所在的层级是主窗口还是跟随所在的 HSP router 层?
主窗口 A,子窗口 B,其中主窗口 A 存在 HSP 活检模块(隐私中间页面-》人脸 har 活检页面),子窗口 B 点击跳转 HSP 活检模块隐私中间页面(getUIContext().getRouter),活检模块隐私中间页面点击再跳转人脸 har,人脸 har 内部是否不需要 getRouter 方法进行跳转,人脸 har 默认 router 所在的层级是主窗口还是跟随所在的 HSP router 层?
根据 UIContext 说明,WindowStage/Window 可以通过 loadContent 接口加载页面并创建 UI 的实例,所以 UI 实例和窗口是一一关联的,也就是说想要通过 UIContext 获取 UI 实例的话,必须在当前调用界面能追溯到一个 UI 窗口。如果 UI 上下文不明确则无法调用。
HSP 页面路由跳转可参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/in-app-hsp-V5
HSP(Harmony Shared Package)是动态共享包,可以包含代码、C++库、资源和配置文件,通过 HSP 可以实现代码和资源的共享。HSP 不支持独立发布,而是跟随其宿主应用的 APP 包一起发布,与宿主应用同进程,具有相同的包名和生命周期。
HAR 页面路由跳转可参考(命名路由):https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-routing-V5页面路由指在应用程序中实现不同页面之间的跳转和数据传递。Router 模块通过不同的 url 地址,可以方便地进行页面路由,轻松地访问不同的页面。本文将从页面跳转、页面返回、页面返回前增加一个询问框和命名路由这几个方面,介绍如何通过 Router 模块实现页面路由。
5、HarmonyOS CustomDialogController 的创建方式问题?
在 ArkUI 中,CustomDialogController 是一个页面级别的组件,其生命周期是与页面绑定的。当 将 CustomDialogController 公开成一个函数时,实际上是将其从页面上下文中剥离出来,导致其无法正常使用。具体来说,CustomDialogController 在页面中的使用是通过页面的生命周期管理的,例如在页面加载完成后初始化,并在页面退出时销毁。如果将其公开成一个函数,则无法保证其在正确的生命周期阶段被初始化和销毁,从而导致不可预期的行为。此外,CustomDialogController 的一些属性和方法是与页面的生命周期相关的,例如 build 方法用于在页面中构建 UI 组件,而在函数中无法复用这个生命周期相关的逻辑。因此,将 CustomDialogController 公开成一个函数会导致其无法正常工作,因为它失去了与页面的绑定关系。
版权声明: 本文为 InfoQ 作者【轻口味】的原创文章。
原文链接:【http://xie.infoq.cn/article/28f3c0a4b61ad23c1fd239157】。文章转载请联系作者。
评论