LongPressジェスチャー
LongPressジェスチャーにはAPL 1.4以降が必要です。これよりも古いバージョンのAPLを実行しているデバイスには、別のエクスペリエンスを提供してください。LongPressジェスチャーは、タッチ可能なコンポーネントに長押しのサポートを提供します。ユーザーがコンポーネントをタップしたまま長押しすると、LongPressがトリガーされます。
プロパティ
| プロパティ | 型 | デフォルト | 説明 |
|---|---|---|---|
| type | "LongPress" | 必須 | "LongPress"に設定する必要があります。 |
| onLongPressStart | コマンドの配列 | [] | 長押しが最初に検出されたときに実行するコマンドです。 |
| onLongPressEnd | コマンドの配列 | [] | 長押しが終了したときに実行するコマンドです。 |
onLongPressStart
長押しイベントが発生したときに実行するコマンドです。onLongPressStartのコマンドは、ユーザーが十分な時間ポインターを押し続けた後に実行されます。onLongPressStartのコマンドは、ユーザーがポインターを放すまで実行されます。
生成されるイベントの形式は次のようになります。
"event": {
"source": {
"type": "COMPONENT_TYPE", // コンポーネントの型
"handler": "LongPressStart",
... // コンポーネントのソースのプロパティ
},
"component": {
"x": Number, // コンポーネント内でのアップイベントのX位置(dp)
"y": Number, // コンポーネント内でのアップイベントの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, // コンポーネント内でのアップイベントのX位置(dp)
"y": Number, // コンポーネント内でのアップイベントのY位置(dp)
"width": Number, // コンポーネントの幅(dp)
"height": Number, // コンポーネントの高さ(dp)
},
"inBounds": Boolean // ポインターがコンポーネントの変換後の境界内にある場合はtrue
}
ポインター位置のinBoundsの計算では、重なり合うコンポーネントは考慮されません。
event.sourceのプロパティの詳細については、イベントソースを参照してください。
onLongPressEndイベントハンドラーは、コンポーネントのデータバインディングコンテキストで通常モードで実行されます。
LongPressジェスチャーのイベントシーケンス
長押しイベントでは、次のイベントハンドラーがトリガーされます。
onDownonMove(該当する場合)onCancel(長押しが認識された場合)onLongPressStartonLongPressEnd(ユーザーがコンポーネントを放したとき)
ジェスチャーが長押しとして認識されるためにユーザーがコンポーネントを押し続ける必要のある時間は、オペレーティングシステムとユーザー補助機能の設定によって決まります。
LongPressジェスチャーの例
以下は、LongPressジェスチャーの動作を示す例です。タッチ可能なコンポーネントの各ハンドラーは、コンポーネントのIDと実行されたハンドラーの名前を表示するコマンドを実行します。押してすぐに放したときは、onPressハンドラーが実行されます。コンポーネントをしばらく押したままにすると、onLongPressStartハンドラーが実行され、放したときにonLongPressEndが実行されます。
関連トピック
最終更新日: 2025 年 12 月 04 日