roi peker

Fixes transitions and curves arguments in navigation methods

- renamed and added defaults transition duration and types in "GetInterfase"
- added missing parameters in `Get.to` / `Get.offAll`,  fixes #570
- added optional `transitionDuration` and `transitionCurve` to `Get.dialog()`
import 'package:flutter/material.dart';
import '../../utils.dart';
import '../navigation/root/parse_route.dart';
import '../navigation/root/root_controller.dart';
import '../navigation/routes/custom_transition.dart';
import '../navigation/routes/observers/route_observer.dart';
import '../navigation/routes/transitions_type.dart';
import '../../utils.dart';
///Use Get.to instead of Navigator.push, Get.off instead of Navigator.pushReplacement,
///Get.offAll instead of Navigator.pushAndRemoveUntil. For named routes just add "named"
... ... @@ -16,8 +17,14 @@ import '../../utils.dart';
abstract class GetInterface {
bool defaultPopGesture = GetPlatform.isIOS;
bool defaultOpaqueRoute = true;
Transition defaultTransition;
Duration defaultDurationTransition = Duration(milliseconds: 400);
Duration defaultTransitionDuration = Duration(milliseconds: 400);
Curve defaultTransitionCurve = Curves.easeOutQuad;
Curve defaultDialogTransitionCurve = Curves.easeOutQuad;
Duration defaultDialogTransitionDuration = Duration(milliseconds: 400);
bool defaultGlobalState = true;
RouteSettings settings;
String defaultSeparator = "_";
... ...
... ... @@ -42,6 +42,7 @@ extension GetNavigation on GetInterface {
Widget page, {
bool opaque,
Transition transition,
Curve curve,
Duration duration,
int id,
bool fullscreenDialog = false,
... ... @@ -65,9 +66,10 @@ extension GetNavigation on GetInterface {
),
popGesture: popGesture ?? defaultPopGesture,
transition: transition ?? defaultTransition,
curve: curve ?? defaultTransitionCurve,
fullscreenDialog: fullscreenDialog,
binding: binding,
transitionDuration: duration ?? defaultDurationTransition,
transitionDuration: duration ?? defaultTransitionDuration,
),
);
}
... ... @@ -317,7 +319,8 @@ extension GetNavigation on GetInterface {
/// It has the advantage of not needing context,
/// so you can call from your business logic
///
/// You can set a custom [transition], and a transition [duration].
/// You can set a custom [transition], define a Tween [curve],
/// and a transition [duration].
///
/// You can send any type of value to the other route in the [arguments].
///
... ... @@ -338,6 +341,7 @@ extension GetNavigation on GetInterface {
Widget page, {
bool opaque = false,
Transition transition,
Curve curve,
bool popGesture,
int id,
Object arguments,
... ... @@ -359,7 +363,8 @@ extension GetNavigation on GetInterface {
fullscreenDialog: fullscreenDialog,
popGesture: popGesture ?? defaultPopGesture,
transition: transition ?? defaultTransition,
transitionDuration: duration ?? defaultDurationTransition));
curve: curve ?? defaultTransitionCurve,
transitionDuration: duration ?? defaultTransitionDuration));
}
/// **Navigation.pushAndRemoveUntil()** shortcut .<br><br>
... ... @@ -370,7 +375,7 @@ extension GetNavigation on GetInterface {
/// It has the advantage of not needing context,
/// so you can call from your business logic
///
/// You can set a custom [transition], and a transition [duration].
/// You can set a custom [transition], a [curve] and a transition [duration].
///
/// You can send any type of value to the other route in the [arguments].
///
... ... @@ -401,8 +406,9 @@ extension GetNavigation on GetInterface {
Object arguments,
Bindings binding,
bool fullscreenDialog = false,
Duration duration,
Transition transition,
Curve curve,
Duration duration,
}) {
var route = (Route<dynamic> rota) => false;
... ... @@ -418,12 +424,16 @@ extension GetNavigation on GetInterface {
fullscreenDialog: fullscreenDialog,
routeName: routename,
transition: transition ?? defaultTransition,
transitionDuration: duration ?? defaultDurationTransition,
curve: curve ?? defaultTransitionCurve,
transitionDuration: duration ?? defaultTransitionDuration,
),
predicate ?? route);
}
/// Show a dialog
/// Show a dialog.
/// You can pass a [transitionDuration] and/or [transitionCurve],
/// overriding the defaults when the dialog shows up and closes.
/// When the dialog closes, uses those animations in reverse.
Future<T> dialog<T>(
Widget widget, {
bool barrierDismissible = true,
... ... @@ -431,6 +441,8 @@ extension GetNavigation on GetInterface {
bool useSafeArea = true,
bool useRootNavigator = true,
RouteSettings routeSettings,
Duration transitionDuration,
Curve transitionCurve,
}) {
assert(widget != null);
assert(barrierDismissible != null);
... ... @@ -456,12 +468,12 @@ extension GetNavigation on GetInterface {
barrierDismissible: barrierDismissible,
barrierLabel: MaterialLocalizations.of(context).modalBarrierDismissLabel,
barrierColor: barrierColor ?? Colors.black54,
transitionDuration: const Duration(milliseconds: 150),
transitionDuration: transitionDuration ?? defaultDialogTransitionDuration,
transitionBuilder: (context, animation, secondaryAnimation, child) {
return FadeTransition(
opacity: CurvedAnimation(
parent: animation,
curve: Curves.easeOut,
curve: transitionCurve ?? defaultDialogTransitionCurve,
),
child: child,
);
... ... @@ -856,7 +868,7 @@ extension GetNavigation on GetInterface {
}
if (defaultDurationTransition != null) {
this.defaultDurationTransition = defaultDurationTransition;
this.defaultTransitionDuration = defaultDurationTransition;
}
if (defaultGlobalState != null) {
... ...
... ... @@ -4,6 +4,7 @@ import 'package:get/get.dart';
import 'package:get/src/core/log.dart';
import 'package:get/src/instance/get_instance.dart';
import 'package:get/src/navigation/routes/get_route.dart';
import 'root_controller.dart';
import 'smart_management.dart';
... ... @@ -209,7 +210,7 @@ class GetMaterialApp extends StatelessWidget {
defaultOpaqueRoute: opaqueRoute ?? Get.isOpaqueRouteDefault,
defaultPopGesture: popGesture ?? Get.isPopGestureEnable,
defaultDurationTransition:
transitionDuration ?? Get.defaultDurationTransition,
transitionDuration ?? Get.defaultTransitionDuration,
defaultGlobalState: defaultGlobalState ?? Get.defaultGlobalState,
);
},
... ...