aves/lib/widgets/navigation/tv_page_transitions.dart
2022-12-13 23:02:05 +01:00

36 lines
919 B
Dart

import 'package:flutter/material.dart';
class TvPageTransitionsBuilder extends PageTransitionsBuilder {
const TvPageTransitionsBuilder();
@override
Widget buildTransitions<T>(
PageRoute<T>? route,
BuildContext? context,
Animation<double> animation,
Animation<double>? secondaryAnimation,
Widget child,
) {
return _TvPageTransition(routeAnimation: animation, child: child);
}
}
class _TvPageTransition extends StatelessWidget {
final Animation<double> _opacityAnimation;
final Widget child;
static final Animatable<double> _easeInTween = CurveTween(curve: Curves.easeIn);
_TvPageTransition({
required Animation<double> routeAnimation,
required this.child,
}) : _opacityAnimation = routeAnimation.drive(_easeInTween);
@override
Widget build(BuildContext context) {
return FadeTransition(
opacity: _opacityAnimation,
child: child,
);
}
}