相信在方法當(dāng)中,我們都會遇到讓組件有拖拽效果的需求猜旬。在Flutter
當(dāng)中怎么實(shí)現(xiàn)拖拽需求呢脆栋?這篇博客分享關(guān)于拖拽手勢
的知識倦卖,希望對看文章的小伙伴有所啟發(fā)。
拖拽手勢
拖拽手勢
是指用戶在長按屏幕的時(shí)候椿争,移動手指的手勢怕膛。會細(xì)分成:
- 按下;
- 移動秦踪;
- 抬起褐捻。
我們可以理解成用戶在觸碰到屏幕的那一刻處于按下
,之后有可能觸發(fā)移動
手勢椅邓,最后抬起
離開屏幕柠逞,這就是完整的手勢。
在GestureDetector
當(dāng)中景馁,拖拽手勢分為2種:
- 垂直拖拽手勢板壮;
- 水平拖拽手勢。
垂直拖拽手勢事件
手勢事件 | 事件說明 |
---|---|
onVerticalDragDown | 用戶按下屏幕準(zhǔn)備在垂直方向上移動 |
onVerticalDragStart | 用戶接觸屏幕之后開始垂直方向移動 |
onVerticalDragUpdate | 用戶在屏幕垂直移動之后抬起 |
onVerticalDragEnd | 用戶在屏幕上垂直移動合住,抬起手指的時(shí)候觸發(fā) |
onVerticalDragCancel | 用戶在屏幕上的垂直移動突然停止觸發(fā) |
水平拖拽手勢事件
手勢事件 | 事件說明 |
---|---|
onHorizontalDragDown | 用戶按下屏幕準(zhǔn)備在水平方向上移動 |
onHorizontalDragStart | 用戶接觸屏幕之后開始水平方向移動 |
onHorizontalDragUpdate | 用戶在屏幕水平移動之后抬起 |
onHorizontalDragEnd | 用戶在屏幕上水平移動绰精,抬起手指的時(shí)候觸發(fā) |
onHorizontalDragCancel | 用戶在屏幕上的水平移動突然停止觸發(fā) |