簡體   English   中英

Flutter:iOS 帶有數據的向后滑動手勢

[英]Flutter: iOS swipe back gesture with data

我正在嘗試實現一種將數據發送回先前路由的方法。 Navigator.of(context).pop function 允許參數在與按鈕按下時完美配合。 問題是:在 Android 上,用戶還可以通過 Android 特定的后退按鈕返回 go,所以我試圖借助 WillPopScope 小部件來解決這個問題。 在 onWillPop 參數中,我再次使用 Navigator.of(context).pop(data),所以現在工作在 Android 上完成。 新問題是:現在,由於 WillPopScope 小部件,iOS 上的向后滑動手勢不再起作用。

所以,問題是:我如何才能將數據發送回之前的路由,無論用戶是點擊了我放在那里的按鈕、點擊了 Android 特定的后退按鈕還是使用了 iOS 上的向后滑動手勢?

希望它清楚:)

對於 iOS,您可以像這樣實現 CupertinoPageRoute 而不是 MaterialPageRoute:

import 'dart:io';
import 'package:flutter/cupertino.dart';

if(Platform.isIOS) {
   CupertinoPageRoute route = CupertinoPageRoute(
                           settings: RouteSettings(arguments: YOUR ARGUMENTS),
                           builder: (context) => SecondPage());

} 
await Navigator.push(context, route);

現在您可以訪問當您向后滑動時在settings道具中傳遞的 Arguments。

我希望這能解決您的問題。

暫無
暫無

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

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