LongPressジェスチャー
LongPressジェスチャー
LongPress
ジェスチャーでは、タッチ可能なコンポーネントを長押しできます。ユーザーがコンポーネントに触れて長押し状態を維持すると、LongPress
がトリガーされます。
プロパティ
プロパティ | 型 | デフォルト | 説明 |
---|---|---|---|
type | "LongPress" | 必須 | 値は「LongPress」のみです。 |
onLongPressStart | コマンド配列 | [] | 長押しが最初に検出されたときに実行するコマンドです。 |
onLongPressEnd | コマンド配列 | [] | このハンドラーが終了したときに実行するコマンドです。 |
onLongPressStart
長押しのイベントが発生したときに実行するコマンドです。onLongPressStart
コマンドは、ユーザーが十分な時間ポインターを押し続けた後に実行されます。onLongPressStart
コマンドは、ユーザーがポインターを離すまで実行されます。
生成されるイベントの形式は次のようになります。
"event": {
"source": {
"type": "COMPONENT_TYPE", // コンポーネントの型
"handler": "LongPressStart",
... // コンポーネントのソースプロパティ
},
"component": {
"x": Number, // コンポーネントのupイベントのX位置(dp)
"y": Number, // コンポーネントのupイベントのY位置(dp)
"width": Number, // コンポーネントのdp単位での横幅
"height": Number, // コンポーネントのdp単位での縦幅
},
"inBounds": Boolean // ポインターがコンポーネントの境界内にある場合にTrue
}
ポインター位置のinBounds
の計算では、重なり合うコンポーネントは考慮されません。
event.source
の詳細についてはイベントソースを参照してください。
onLongPressStart
ハンドラーは高速モードで実行されます。
onLongPressEnd
長押しが終了したときに実行するコマンドです。onLongPressEnd
コマンドは、ユーザーがポインタを離した後に実行されます。
生成されるイベントの形式は次のようになります。
"event": {
"source": {
"type": "COMPONENT_TYPE", // コンポーネントの型
"handler": "LongPressEnd",
... // コンポーネントのソースプロパティ
},
"component": {
"x": Number, // コンポーネントのupイベントのX位置(dp)
"y": Number, // コンポーネントのupイベントのY位置(dp)
"width": Number, // コンポーネントのdp単位での横幅
"height": Number, // コンポーネントのdp単位での縦幅
},
"inBounds": Boolean // ポインターがコンポーネントの境界内にある場合にTrue
}
ポインター位置のinBounds
の計算では、重なり合うコンポーネントは考慮されません。
event.source
の詳細についてはイベントソースを参照してください。
onLongPressEnd
ハンドラーは通常モードで実行されます。
LongPressジェスチャーのイベントシーケンス
長押しイベントでは、次のイベントハンドラーがトリガーされます。
onDown
onMove
(該当する場合)onCancel
(ダブルタップを識別)onLongPressStart
onLongPressEnd
(ユーザーがコンポーネントを離したとき)
ジェスチャーの長押し判定のためにユーザーがコンポーネントを押し続ける時間は、オペレーティングシステムとアクセシビリティの設定によって決まります。