Gesto único de desarrollo de aplicaciones HarmonyOS/OpenHarmony (modelo Stage) (1)

1. Toca Gesto

TapGesture (¿valor?:{ recuento ? :número ; dedos ? :número })

El gesto de clic admite un solo clic y varios clics, y tiene dos parámetros opcionales:

recuento: parámetro no obligatorio que declara el número de clics consecutivos reconocidos por este gesto de clic. El valor predeterminado es 1. Si se establece un valor ilegal menor que 1, se convertirá al valor predeterminado. Si se configuran varios clics, el tiempo de espera entre el último levantamiento y la siguiente pulsación es de 300 milisegundos.

Dedos: parámetro no obligatorio, utilizado para declarar el número de dedos que activan el clic, el valor mínimo es 1, el valor máximo es 10 y el valor predeterminado es 1. Cuando se configuran varios dedos, el reconocimiento de gestos fallará si no hay suficientes dedos para presionar dentro de los 300 milisegundos de presionar el primer dedo. Cuando el número real de clics con los dedos excede el valor configurado, el reconocimiento de gestos falla.

Tomemos como ejemplo vincular un gesto de doble clic (gesto de clic con valor de conteo 2) en el componente Texto:

// xxx.ets
@Entry
@Component
struct Index {
  @State value: string = "";
  
  build() {
    Column() {
      Text('Click twice').fontSize(28)
        .gesture(
          // 绑定count为2的TapGesture
          TapGesture({ count: 2 })
            .onAction((event: GestureEvent) => {
              this.value = JSON.stringify(event.fingerList[0]);
            }))
      Text(this.value)
    }
    .height(200)
    .width(250)
    .padding(20)
    .border({ width: 3 })
    .margin(30)
  }
}

2. Gesto de pulsación larga (LongPressGesture)

  1. LongPressGesture (¿valor?:{ ¿ dedos ? :número ; repetir ? :booleano ; duración ? :número })

El gesto de pulsación larga se utiliza para activar el evento de gesto de pulsación larga. El número mínimo de dedos para activar el gesto de pulsación larga es 1, y el evento de pulsación larga más corto es de 500 milisegundos. Tiene tres parámetros opcionales:

dedos: parámetro opcional, utilizado para declarar el número mínimo de dedos necesarios para activar el gesto de pulsación larga. El valor mínimo es 1, el valor máximo es 10 y el valor predeterminado es 1.

repetir: parámetro opcional, utilizado para declarar si se activan devoluciones de llamadas de eventos continuamente. El valor predeterminado es falso.

duración: parámetro opcional, utilizado para declarar el tiempo mínimo requerido para activar una pulsación larga, en milisegundos, y el valor predeterminado es 500.

Tomemos como ejemplo vincular un gesto de pulsación larga que se puede activar repetidamente en el componente Texto:

// xxx.ets
@Entry
@Component
struct Index {
  @State count: number = 0;

  build() {
    Column() {
      Text('LongPress OnAction:' + this.count).fontSize(28)
        .gesture(
          // 绑定可以重复触发的LongPressGesture
          LongPressGesture({ repeat: true })
            .onAction((event: GestureEvent) => {
              if (event.repeat) {
                this.count++;
              }
            })
            .onActionEnd(() => {
              this.count = 0;
            })
        )
    }
    .height(200)
    .width(250)
    .padding(20)
    .border({ width: 3 })
    .margin(30)
  }
}

Supongo que te gusta

Origin blog.csdn.net/weixin_69135651/article/details/132598612
Recomendado
Clasificación