DoublePressジェスチャー
DoublePress
ジェスチャーでは、タッチ可能なコンポーネントをダブルタップできます。ユーザーは、システムで定義された制限時間内にコンポーネントを2回タップしてDoublePress
をトリガーします。
プロパティ
プロパティ | 型 | デフォルト | 説明 |
---|---|---|---|
type |
"DoublePress" | 必須 | 値は「DoublePress」のみです。 |
onDoublePress |
コマンド配列 | [] | ダブルタップで実行するコマンドです。 |
onSinglePress |
コマンド配列 | [] | シングルタップで実行するコマンドです。 |
onDoublePress
ダブルタップのイベントが発生したときに実行するコマンドです。onDoublePress
コマンドは、onCancel
イベントハンドラーの後に実行されます。onDoublePress
イベントハンドラーとonSinglePress
イベントハンドラは相互に排他的です。タッチイベントはonSinglePress
またはonDoublePress
のいずれかをトリガーするため、同時には発生しません。
生成されるイベントの形式は次のようになります。
"event": {
"source": {
"type": "COMPONENT_TYPE", // コンポーネントの型
"handler": "DoublePress",
... // コンポーネントのソースプロパティ
},
"component": {
"x": Number, // コンポーネントのupイベントのX位置(dp)
"y": Number, // コンポーネントのupイベントのY位置(dp)
"width": Number, // コンポーネントのdp単位での横幅
"height": Number, // コンポーネントのdp単位での縦幅
}
}
event.source
の詳細についてはイベントソースを参照してください。
onDoublePress
ハンドラーは通常モードで実行されます。
onSinglePress
シングルタップが検出され、ダブルタップの可能性が無くなったときに実行するコマンドです。onSinglePress
イベントハンドラーとonDoublePress
イベントハンドラーは相互に排他的です。タッチイベントはonSinglePress
またはonDoublePress
のいずれかをトリガーするため、同時には発生しません。
生成されるイベントの形式は次のようになります。
"event": {
"source": {
"type": "COMPONENT_TYPE", // コンポーネントの型
"handler": "SinglePress",
... // コンポーネントのソースプロパティ
},
"component": {
"x": Number, // コンポーネントのupイベントのX位置(dp)
"y": Number, // コンポーネントのupイベントのY位置(dp)
"width": Number, // コンポーネントのdp単位での横幅
"height": Number, // コンポーネントのdp単位での縦幅
}
}
event.source
の詳細についてはイベントソースを参照してください。
onSinglePress
ハンドラーは通常モードで実行されます。
DoublePressジェスチャーのイベントシーケンス
シングルタップイベントは、ユーザーがコンポーネントを1回タップし、ダブルタップの制限内で2回目のタップをしない場合に発生します。シングルタップイベントでは、次のイベントハンドラーがトリガーされます。
onDown
onMove
(該当する場合)onUp
onPress
onSinglePress
(短い遅延の後)
ダブルタップイベントは、ユーザーがコンポーネントを短時間に連続して2回タップしたときに発生します。ダブルタップイベントでは、次のイベントハンドラーがトリガーされます。
onDown
onMove
(該当する場合)onUp
onPress
onDown
(2回目のタップの開始)onMove
(該当する場合)onCancel
(ダブルタップを識別)onDoublePress
オペレーティングシステムおよびアクセシビリティの設定によって、ダブルタップの時間制限が決まります。