Tapジェスチャー
Tapジェスチャーは、コンポーネント上の意図的なタップを検出します。その方法はonPressよりも制限的です。Tapでは、最初のdownおよび最後のポインターのupイベントに関して、以下の制限が追加されています。
- これらのイベントは短い距離で発生する必要があり、ドラッグに似たジェスチャーは除外されます。
- 速度が非常に遅いか、速度のないベクターを表す必要があり、スワイプに似たジェスチャーは除外されます。
プロパティ
| プロパティ | 型 | デフォルト | 説明 |
|---|---|---|---|
|
|
"Tap" |
必須 |
ジェスチャーの種類を表します。 |
|
|
コマンドの配列 |
|
タップが発生したときに実行するコマンドです。 |
onTap
Tapイベントが検出されたときに実行するコマンドです。このイベントは、ポインターが解放された後に発生する可能性があります。これらのコマンドは、onCancelイベントハンドラーが実行された後に実行されます。
生成されるイベントの形式は次のようになります。
"event": {
"source": {
"type": COMPONENT_TYPE, // コンポーネントの型
"handler": "Tap",
... // コンポーネントのソースプロパティ
},
"component": {
"x": Number, // コンポーネントのupイベントのX位置(dp)
"y": Number, // コンポーネントのupイベントのY位置(dp)
"width": Number, // コンポーネントのdp単位の幅
"height": Number, // コンポーネントのdp単位の高さ
},
"inBounds": Boolean // ポインターがコンポーネントの変換された境界内にある場合はtrue
}
ポインター位置のinBoundsの計算では、重なり合うコンポーネントは考慮されません。
event.sourceのプロパティの詳細については、イベントソースを参照してください。
onTapハンドラーは、コンポーネントのデータバインディングコンテキストで通常モードで実行されます。
Tapジェスチャーのイベントシーケンス
Tapジェスチャーでは以下のイベントハンドラーがトリガーされます。
タッチがTapとして認識される最大速度と最大距離は、ランタイムオペレーティングシステムによって定義されます。
Tapジェスチャーの例
以下は、Tapジェスチャーの例です。タッチ可能な各コンポーネントハンドラーは、コンポーネントのIDと実行したハンドラーの名前を表示するコマンドを実行します。タップの条件を満たす、押してすぐ離す動作を行うと、onTapハンドラーが実行されます。タップと通常の押下の違いを確認するには、TouchWrapperを押し、少し動かしてから離します。このシナリオでは、代わりにonPressが実行されます。
最終更新日: 2025 年 12 月 12 日