translateTransitionBuilder function
- double magnitude = 1.0,
- TextDirection? horizDirection,
- VerticalDirection? vertDirection = VerticalDirection.up,
Builds a transition that slides and fades in / out the child.
Implementation
AnimatedSwitcherTransitionBuilder translateTransitionBuilder({
double magnitude = 1.0,
TextDirection? horizDirection,
VerticalDirection? vertDirection = VerticalDirection.up,
}) {
final isLtr = horizDirection == TextDirection.ltr;
final isRtl = horizDirection == TextDirection.rtl;
final isDtu = vertDirection == VerticalDirection.up;
final isUtd = vertDirection == VerticalDirection.down;
final enterBegin = Offset(
isLtr
? -magnitude
: isRtl
? magnitude
: 0.0,
isDtu
? magnitude
: isUtd
? -magnitude
: 0.0,
);
final exitEnd = Offset(
isLtr
? magnitude
: isRtl
? -magnitude
: 0.0,
isDtu
? -magnitude
: isUtd
? magnitude
: 0.0,
);
return (child, animation) {
return SlideTransition(
position: ReversibleAnimation(
animation,
forward: Tween<Offset>(begin: enterBegin, end: Offset.zero),
reverse: Tween<Offset>(begin: Offset.zero, end: exitEnd),
),
child: FadeTransition(
opacity: animation,
child: child,
),
);
};
}