Gesture
- ここの記述やコードは以下のサイトの内容に基づいています
- ユーザとデバイス間の直接的なやりとりについてのもの(以下の4つがある)
- PointerDownEvent
- PointerMoveEvent
- PointerUpEvent
- PointerCancelEvent
- 上記イベントには最も内側のWidgetが反応する
- そこからバブリングしていくが、これを止める方法はない
- 基本的に次の
Gesture
を使う
- 複数のPointerイベントで認識される意味的な動作のこと
- 垂直方向のDrag開始、移動中、終了までを検知できる
- 水平方向のDrag開始、移動中、終了までを検知できる
- 水平 or 垂直方向のDragの開始、移動中、終了までを検知する
- ↑のDrag系と一緒に設定されるとクラッシュする
- 画面上には複数のGestureへの検知機構がある可能性がある
- 複数のGesture検知がある場合、flutterは検知機構に競争を以下のルールでさせる
- 検知機構はいつでも検知を諦められ、残った最後の一つが勝者となる
- 検知機構はいつでも勝利を宣言でき、他の機構は諦めたことになる
- 例えば水平方向と垂直方向のGesture検知があった場合、以下のようになる
- タップした時点で、↑の2つの検知機構が競争に参加する
- 垂直に数ピクセル動いたタイミングで、垂直方向の検知機構が勝利を宣言する