cupertino_stackview

我喜欢称之为“StackView”的系统,因为我不知道它的真实名称,现在它是iOS 13的默认导航系统。作为它的粉丝,我决定也为Flutter实现一个非常易于使用的版本。

强烈建议阅读文档并在真实设备上运行示例项目,以充分理解和检查全部功能。

如何使用

首先,使用“misc.dart”提供的`cupertinoStackViewController`实例化,并传入必需的参数。

cupertinoStackViewController = CupertinoStackViewController(
    navigatorState,
    {
      "Page I": (BuildContext context, dynamic parameters) {
        return PageI();
      },
      "Page II": (BuildContext context, dynamic parameters) {
        return PageII();
      },
      "Page III": (BuildContext context, dynamic parameters) {
        return PageIII();
      },
      "Page IV": (BuildContext context, dynamic parameters) {
        return PageIV();
      },
      ...,
    },
);

然后,像示例中那样创建一个`CupertinoStackView`小部件。

CupertinoStackView(
  true,             //_isPrimary 
  "Page I",         //_navigation
  Scaffold(...),    //_child
  Colors.black,     //_backgroundColor 
 {Key key,
  radius    : Radius.circular(10.0)})

进一步说明

有关所有参数和方法的完整说明,请参阅文档

  • `cupertinoStackViewController`来自'misc.dart',必须在应用程序启动时通过`void initialise(double height, double width)`方法进行初始化。使用此方法并传入`MediaQuery.of(context).size.height`和`MediaQuery.of(context).size.width`的值。
  • 使用`CupertinoStackViewController`的`Future back(BuildContext context, dynamic parameters) async`和`Future navigate(String targetNavigation, BuildContext context, dynamic parameters) async`方法执行相应的操作。请勿直接调用`Navigator`方法。

GitHub

https://github.com/aliyigitbireroglu/flutter-cupertino-stackview