簡體   English   中英

Flutter, 如何實現導航轉換的手勢?

[英]Flutter, How to implement gesture for navigation transition?

如何在 Flutter 中實現導航轉換的手勢?

例如,我想實現像 CupertinoPageRoute 這樣的導航(從底部過渡),

但我也想向下滑動彈出導航,

並且過渡也應該與手勢相匹配。


Update1 :經過一番研究,我發現 BuilderPageRoute 可以做自定義導航轉換,但我仍然無法實現手勢。

經過研究,我有一個解決方案。 (我認為這是唯一的解決方案)。

令人驚訝的是,幾乎沒有人關心這個功能。

但是,唯一的方法是創建一個GestureController

如何?

在每個 navigator.push 我們需要有PageRoute

在 PageRoute 里面有兩個重要的東西

  1. AnimationController - 控制過渡的 animation。
  2. 導航器- 保持導航狀態。

您需要創建一個GestureContrller來檢測手勢,然后將其轉換為控制 animation 進度。

當您第一次檢測到手勢時,您需要調用navigator.didStartUserGesture

完成手勢后,您需要調用navigator.didStopUserGesture

Flutter源代碼中的 _CupertinoBackGestureController 為例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM