Flutter進階篇(3)-- Flutter 的手勢(GestureDetector)分析詳解

聲明:本文是作者AWeiLoveAndroid原創,版權歸作者AWeiLoveAndroid所有,侵權必究。如若轉發,請注明作者和來源地址!未經授權,嚴禁私自轉載!

今天詳細講解一下Flutter中的GestureDetector。


Flutter系列博文鏈接 ↓:

工具安裝:

Flutter基礎篇:

Flutter進階篇:

Dart語法系列博文鏈接 ↓:

Dart語法基礎篇:

Dart語法進階篇:


目錄:

一、手勢識別器分類
二、手勢識別器的相關閉包函數統計分析
三、各種手勢識別器的使用詳解
四、手勢識別器混合使用
五、手勢識別器使用時遇到的坑



一、手勢識別器分類

GestureDetector手勢操作是開發中必不可少的,Flutter中的GestureDetector一共有 7大類25種

分別是:

Tap:

onTapDown: (details) {},
onTapUp: (details) {},
onTap: () {},
onTapCancel: () {},

雙擊:

onDoubleTap: () {},

長按:

onLongPress: () {},
onLongPressStart: () {},
onLongPressMoveUpdate: () {},
onLongPressUp: () {},
onLongPressEnd: () {},

垂直滑動:

onVerticalDragDown: (details) {},
onVerticalDragStart: (details) {},
onVerticalDragUpdate: (details) {},
onVerticalDragEnd: (details) {},
onVerticalDragCancel: () {},

水平滑動:

onHorizontalDragDown: (details) {},
onHorizontalDragStart: (details) {},
onHorizontalDragUpdate: (details) {},
onHorizontalDragEnd: (details) {},
onHorizontalDragCancel: () {},

Pan事件:

指針已接觸屏幕并可能開始移動。
onPanDown: (details) {},
指針已經接觸屏幕并開始移動。
onPanStart: (details) {},
與屏幕接觸并移動的指針再次移動。
onPanUpdate: (details) {}, 
先前與屏幕接觸并移動的指針不再與屏幕接觸,并且當它停止接觸屏幕時以特定速度移動。
onPanEnd: (details) {},
先前觸發 onPanDown 的指針未完成。
onPanCancel: () {},

Scale事件:

onScaleStart: (details) {},
onScaleUpdate: (details) {},
onScaleEnd: (details) {},

二、手勢識別器的相關閉包函數統計分析表:

我查看了一下每一個事件類型源碼,做了一張圖,如下所示:

手勢識別器最新內容.png

我們可以得到幾點信息:

還有 64% 的精彩內容
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
支付 ¥5.00 繼續閱讀

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,335評論 25 708
  • 用兩張圖告訴你,為什么你的 App 會卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 12,958評論 2 59
  • 在iOS開發中經常會涉及到觸摸事件。本想自己總結一下,但是遇到了這篇文章,感覺總結的已經很到位,特此轉載。作者:L...
    WQ_UESTC閱讀 6,133評論 4 26
  • 好奇觸摸事件是如何從屏幕轉移到APP內的?困惑于Cell怎么突然不能點擊了?糾結于如何實現這個奇葩響應需求?亦或是...
    Lotheve閱讀 58,015評論 51 603
  • 最近讀書不再追求速度,每天只是簡單的從書中汲取一兩句話,便也覺得有了很大的進步。書中的語言給我帶來的力量與寧靜使得...
    楊福榮閱讀 6,734評論 0 0