Added transitions with CupertinoPageRoute (#103)

* #100, #85 added Cupertino transition type
* #100, #85 added CupertinoPageRoute
added support swipe to back with using CupertinoPageRoute
* added Cupertino full screen dialog transition type
* added Cupertino full screen dialog transition
This commit is contained in:
Miolin 2019-05-20 18:52:37 +03:00 committed by Luke
parent d3b3470ac2
commit bf5de991ad
2 changed files with 11 additions and 1 deletions

View File

@ -46,6 +46,8 @@ enum TransitionType {
inFromBottom,
fadeIn,
custom, // if using custom then you must also provide a transition
cupertino,
cupertinoFullScreenDialog,
}
enum RouteMatchType {

View File

@ -12,6 +12,7 @@ import 'dart:async';
import 'package:fluro/fluro.dart';
import 'package:fluro/src/common.dart';
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
class Router {
static final appRouter = new Router();
@ -123,7 +124,14 @@ class Router {
(RouteSettings routeSettings, Map<String, List<String>> parameters) {
bool isNativeTransition = (transition == TransitionType.native ||
transition == TransitionType.nativeModal);
if (isNativeTransition) {
if (transition == TransitionType.cupertino || transition == TransitionType.cupertinoFullScreenDialog) {
return new CupertinoPageRoute<dynamic>(
settings: routeSettings,
fullscreenDialog: transition == TransitionType.cupertinoFullScreenDialog,
builder: (BuildContext context) {
return handler.handlerFunc(context, parameters);
});
} else if (isNativeTransition) {
return new MaterialPageRoute<dynamic>(
settings: routeSettings,
fullscreenDialog: transition == TransitionType.nativeModal,