鸿蒙5.0开发进阶:一次开发,多端部署(交互归一)

往期鸿蒙5.0全套实战文章必看:(文中附带全栈鸿蒙5.0学习资料)


交互归一

对于不同类型的智能设备,用户可能有不同的交互方式,如通过触摸屏、鼠标、触控板等。如果针对不同的交互方式单独做适配,会增加开发工作量同时产生大量重复代码。

基础输入

常见的基础输入方式及其在各输入设备上的表现如下图所示。

基础输入对应的开发接口,以及当前支持情况如下表所示。

输入开发接口触控屏触控板鼠标
悬浮onHoverNA
点击onClick
双击TapGesture
长按LongPressGesture×
上下文菜单ContentMenu
拖拽Drag
轻扫SwipeGesture
滚动及平移PanGesture
缩放PinchGesture
旋转RotationGestureNA

说明

  • 点击事件(onClick)其实是点击手势(TapGesture)的一个特殊场景(单指单次点击)。该场景使用的非常广泛,为了方便开发者使用及符合传统开发习惯,所以专门提供了开发接口。

  • 触控板支持长按输入的功能正在开发中。

拖拽事件

拖拽是应用开发中经常碰到的场景。拖拽发生在两个组件之间,它不是简单的单次输入,而是一个”过程”,通常包含如下步骤(以将组件A拖拽到组件B中为例)。

  • 长按或点击组件A,触发拖拽。

  • 保持按压或点击,持续将组件A向组件B拖拽。

  • 抵达组件B中,释放按压点击,完成拖拽。

  • 也可以在未抵达组件B的中途,释放按压点击,取消拖拽。

一个完整的拖拽事件,包含多个拖拽子事件,如下表所示(请访问拖拽事件了解详细用法)。当前触控屏和鼠标的拖拽事件已经实现”交互归一”,对手写笔的支持正在开发中。

名称功能描述
onDragStart绑定A组件,触控屏长按/鼠标左键按下后移动触发
onDragEnter绑定B组件,触控屏手指、鼠标移动进入B组件瞬间触发
onDragMove绑定B组件,触控屏手指、鼠标在B组件内移动触发
onDragLeave绑定B组件,触控屏手指、鼠标移动退出B组件瞬间触发
onDrop绑定B组件,在B组件内,触控屏手指抬起、鼠标左键松开时触发

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值