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:
parent
d3b3470ac2
commit
bf5de991ad
|
@ -46,6 +46,8 @@ enum TransitionType {
|
|||
inFromBottom,
|
||||
fadeIn,
|
||||
custom, // if using custom then you must also provide a transition
|
||||
cupertino,
|
||||
cupertinoFullScreenDialog,
|
||||
}
|
||||
|
||||
enum RouteMatchType {
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue