手势交互
在智能设备交互体验不断升级的今天,用户对于操作的便捷性、流畅性与趣味性有了更高的期待。鸿蒙系统作为科技领域的创新先锋,一直致力于为用户打造更加智能、人性化的交互方式。其中,手势交互识别功能无疑是鸿蒙系统交互体验的一大亮点。它打破了传统单一的操作模式,通过识别用户丰富多样的手势动作,让设备与用户之间的沟通变得更加自然、高效。从简单的滑动、点击,到复杂的双指、多指操作,鸿蒙系统的手势交互识别为用户带来了全新的操作感受。今天,就让我们一起深入探索鸿蒙系统中那些丰富且实用的多种手势交互识别功能,领略其独特的魅力与强大之处。
绑定手势的方法
有三种绑定方法
gesture(常规手势绑定方法)
gesture为通用的一种手势绑定方法,可以将手势绑定到对应的组件上。
.gesture(gesture: GestureType, mask?: GestureMask)
例如,可以将点击手势TapGesture通过gesture手势将方法绑定到Text组件上。(后面介绍具体的手势事件)
@Entry
@Component
struct Index {
build() {
Column() {
Text('Gesture').fontSize(28)
// 采用gesture手势绑定方法绑定TapGesture
.gesture(
TapGesture()
.onAction(() => {
console.info('TapGesture is onAction');
}))
}
.height(200)
.width(250)
}
}
priorityGesture(带优先级的手势绑定方法)
priorityGesture是带优先级的手势绑定方法,可以在组件上绑定优先识别的手势。
解释:
当父组件和子组件使用gesture绑定同类型的手势时,子组件优先识别通过gesture绑定的手势;当父组件使用priorityGesture绑定与子组件同类型的手势时,父组件优先识别通过priorityGesture绑定的手势。
注意: 长按手势时,设置触发长按的最短时间小的组件会优先响应,会忽略priorityGesture设置。
例如,当父组件Column和子组件Text同时绑定TapGesture手势时,父组件以带优先级手势priorityGesture的形式进行绑定时,优先响应父组件绑定的TapGesture。
@Entry
@Component
struct Index {
build() {
Column() {
Text('Gesture').fontSize(28)
.gesture(
TapGesture()
.onAction(() => {
console.info('Text TapGesture is onAction');
}))
}