import 'dart:ui';
|
|
import 'package:flutter/cupertino.dart';
|
|
typedef PageDataLisener = void Function(dynamic data);
|
|
//滑动效果
|
class CustomRouteSlide extends PageRouteBuilder {
|
final Widget widget;
|
|
CustomRouteSlide(this.widget)
|
: super(
|
transitionDuration: const Duration(milliseconds: 500),
|
pageBuilder: (BuildContext context, Animation<double> animation1,
|
Animation<double> animation2) {
|
return widget;
|
},
|
transitionsBuilder: (BuildContext context,
|
Animation<double> animation1,
|
Animation<double> animation2,
|
Widget child) {
|
return SlideTransition(
|
position: Tween<Offset>(
|
begin: Offset(1.0, 0.0), end: Offset(0.0, 0.0))
|
.animate(CurvedAnimation(
|
parent: animation1, curve: Curves.fastOutSlowIn)),
|
child: child,
|
);
|
});
|
}
|
|
class NavigatorUtil {
|
static void navigateToNextPage(BuildContext context, PageRoute route,
|
PageDataLisener? dataLisener) async {
|
final result = await Navigator.of(context).push(route);
|
dataLisener!(result);
|
}
|
|
static void navigateToNextPageWithFinish(
|
BuildContext context, PageRoute route) {
|
Navigator.of(context).pushReplacement(route);
|
}
|
}
|