Flutter:iOS向后滑动手势并显示数据

问题描述 投票:1回答:1

我正在尝试实现一种将数据发送回先前路由的方法。 Navigator.of(context).pop函数允许与按一下按钮一起使用时可以完美工作的参数。问题是:在Android上,用户也可以通过特定于Android的后退按钮返回,因此我尝试在WillPopScope-widget的帮助下捕获该问题。在onWillPop参数中,我再次使用Navigator.of(context).pop(data),因此现在该工作已在Android上完成。新问题是:现在,由于使用WillPopScope小部件,iOS上的向后滑动手势不再起作用。

所以,问题是:无论用户轻按我放置的按钮,轻按Android专用的后退按钮还是使用iOS上的后退手势,如何将数据发送回以前的路线?

希望它清楚了:)

android ios flutter swipe navigator
1个回答
0
投票

对于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道具中传递的参数。

我希望这能解决您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.