cupertino_stackview

Cosmos Software Cosmos Software

Pub License

A very easy-to-use navigation tool/widget for having iOS 13 style stacks.

It is highly recommended to read the documentation and run the example project on a real device to fully understand and inspect the full range of capabilities.

Media | Description | Installation | How-to-Use

Media

Watch on Youtube:

v1.0.0



Description

The "StackView" system, as I like to call it because I don't know the real name, is now the default navigation system for iOS 13. As a fan of this, I decided to implement a very easy-to-use version of it for Flutter as well.

How-to-Use

First, instantiate the cupertinoStackViewController that is provided by "misc.dart" with the required parameters:

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();
      },
      ...,
    },
);

Then create a CupertinoStackView widget as shown in the example:

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

Further Explanations:

For a complete set of descriptions for all parameters and methods, see the documentation.

  • The cupertinoStackViewController from 'misc.dart' has to be initialised as soon as the application starts via the void initialise(double height, double width) method. Use this method with the MediaQuery.of(context).size.height and MediaQuery.of(context).size.width values.
  • Use CupertinoStackViewController's Future back(BuildContext context, dynamic parameters) async and Future navigate(String targetNavigation, BuildContext context, dynamic parameters) async methods for the corresponding actions. Do not call Navigator methods directly.

Notes

Any help, suggestion or criticism is appreciated!

Cheers.





Libraries

cupertino_stackview
cupertino_stackview_controller
misc