对于不同类型的智能设备,用户可能有不同的交互方式,如通过触摸屏、鼠标、触控板等。如果针对不同的交互方式单独做适配,会增加开发工作量同时产生大量重复代码。为解决这一问题,我们统一了各种交互方式的API,即实现了 交互归一 。
基础输入
常见的基础输入方式及其在各输入设备上的表现如下图所示。

基础输入对应的开发接口,以及当前支持情况如下表所示。
开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
| 输入 | 开发接口 | 触控屏 | 触控板 | 鼠标 |
|---|---|---|---|---|
| 悬浮 | [onHover] | NA | √ | √ |
| 点击 | [onClick] | √ | √ | √ |
| 双击 | [TapGesture] | √ | √ | √ |
| 长按 | [LongPressGesture] | √ | × | √ |
| 上下文菜单 | [ContentMenu] | √ | √ | √ |
| 拖拽 | [Drag] | √ | √ | √ |
| 轻扫 | [SwipeGesture] | √ | √ | √ |
| 滚动及平移 | [PanGesture] | √ | √ | √ |
| 缩放 | [PinchGesture] | √ | √ | √ |
| 旋转 | [RotationGesture] | √ | √ | NA |
说明:
- 点击事件(onClick)其实是点击手势(TapGesture)的一个特殊场景(单指单次点击)。该场景使用的非常广泛,为了方便开发者使用及符合传统开发习惯,所以专门提供了开发接口。
- 触控板支持长按输入的功能正在开发中。
拖拽事件
拖拽是应用开发中经常碰到的场景。拖拽发生在两个组件之间,它不是简单的单次输入,而是一个”过程”,通常包含如下步骤(以将组件A拖拽到组件B中为例)。
- 长按或点击组件A,触发拖拽。
- 保持按压或点击,持续将组件A向组件B拖拽。
- 抵达组件B中,释放按压点击,完成拖拽。
- 也可以在未抵达组件B的中途,释放按压点击,取消拖拽。
一个完整的拖拽事件,包含多个拖拽子事件,如下表所示(请访问拖拽事件了解详细用法)。当前触控屏和鼠标的拖拽事件已经实现”交互归一”,对手写笔的支持正在开发中。

| 名称 | 功能描述HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿 |
|---|---|
| onDragStart | 绑定A组件,触控屏长按/鼠标左键按下后移动触发 |
| onDragEnter | 绑定B组件,触控屏手指、鼠标移动进入B组件瞬间触发 |
| onDragMove | 绑定B组件,触控屏手指、鼠标在B组件内移动触发 |
| onDragLeave | 绑定B组件,触控屏手指、鼠标移动退出B组件瞬间触发 |
| onDrop | 绑定B组件,在B组件内,触控屏手指抬起、鼠标左键松开时触发 |
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
鸿蒙
+关注
关注
60文章
2859浏览量
45359 -
鸿蒙OS
+关注
关注
0文章
192浏览量
5306
发布评论请先 登录
相关推荐
热点推荐
【汇思博SEEK100开发板试用体验】在开发板鸿蒙OS搭建QT开发环境
,为鸿蒙设备开发原生性能应用。Qt for HarmonyOS 的核心是一个 QPA 插件(Qt Platform Abstraction),其作用是将 Qt 的窗口系统与鸿蒙的 UI
发表于 08-24 18:34
鸿蒙5开发宝藏案例分享---一多开发实例(音乐)
各位开发者小伙伴们好呀!今天咱们来点硬核干货!最近在鸿蒙文档中心挖到一座“金矿”——官方竟然暗藏了100+实战案例,从分布式架构到交互动效优化应有尽有!这些案例不仅藏着华为工程师的私房
鸿蒙5开发案例分享揭秘---一多开发实例(商务办公)
了参考答案!今天就带大家挖一挖这些实战案例,手把手教你玩转\"一次开发,多端部署\"!(文末有惊喜小技巧哦~)
?**
发表于 06-03 16:24
鸿蒙5开发宝藏案例分享---一多开发实例(地图导航)
规划页 :面板滑动时布局自适应变形
3️⃣ 服务卡片 :八宫格静态卡片多端通吃
4️⃣ 实况窗 :胶囊形态+卡片形态双展示
最绝的是所有效果都用****ArkUI框架实现,完全遵循\"一次开发
发表于 06-03 16:17
鸿蒙5开发宝藏案例分享---一多开发实例(旅行订票)
把多端适配的黑科技玩出了花!赶紧带大家来挖宝,手把手解析如何用一套代码征服手机/折叠屏/平板/PC四大终端!
?** 一多开发核心揭秘**
鸿蒙的\"
发表于 06-03 16:16
鸿蒙5开发宝藏案例分享---一多开发实例(购物比价)
者文档里的实战教程,简直就是搞定多端开发的通关秘籍!
? 一、这些功能也太酷了吧!
这个案例完美诠释了鸿蒙\"一次
发表于 06-03 16:07
鸿蒙5开发宝藏案例分享---一多开发实例(即时通讯)
们准备好了超多实用开发案例!尤其是那个让无数人头疼的\"一次开发多端部署\",官方竟然悄悄塞了这么多实战技巧!(拍大腿)
?先上硬核案例:即
发表于 06-03 16:01
鸿蒙5开发宝藏案例分享---一多开发实例(长视频)
;实例,看完直呼\"原来还能这样玩!\" 今天咱们就来好好扒一扒这些隐藏的宝藏,附带手把手的代码解析!
?** 长视频应用案例:一次开发征服四类设备**
核心功能 :首页瀑布流
发表于 06-03 15:58
鸿蒙5开发宝藏案例分享---一多分栏开发实践
?【HarmonyOS开发者的宝藏指南】一次搞定多设备分栏布局,原来还能这么玩!
大家好呀!今天在鸿蒙社区挖到一个超实用的大宝藏——原来官方早就藏了
发表于 06-03 12:03

鸿蒙OS开发:【一次开发,多端部署】应用(交互归一)
评论