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