Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
192 changes: 88 additions & 104 deletions lib/get_animations/animations.dart
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,11 @@ class OpacityAnimation extends GetAnimatedBuilder<double> {
required double end,
required super.idleValue,
}) : super(
tween: Tween<double>(begin: begin, end: end),
builder: (context, value, child) {
return Opacity(
opacity: value,
child: child!,
);
},
);
tween: Tween<double>(begin: begin, end: end),
builder: (context, value, child) {
return Opacity(opacity: value, child: child!);
},
);
}

class RotateAnimation extends GetAnimatedBuilder<double> {
Expand All @@ -65,12 +62,10 @@ class RotateAnimation extends GetAnimatedBuilder<double> {
required double end,
super.idleValue = 0,
}) : super(
builder: (context, value, child) => Transform.rotate(
angle: value,
child: child,
),
tween: Tween<double>(begin: begin, end: end),
);
builder: (context, value, child) =>
Transform.rotate(angle: value, child: child),
tween: Tween<double>(begin: begin, end: end),
);
}

class ScaleAnimation extends GetAnimatedBuilder<double> {
Expand All @@ -84,12 +79,10 @@ class ScaleAnimation extends GetAnimatedBuilder<double> {
required double end,
super.idleValue = 0,
}) : super(
builder: (context, value, child) => Transform.scale(
scale: value,
child: child,
),
tween: Tween<double>(begin: begin, end: end),
);
builder: (context, value, child) =>
Transform.scale(scale: value, child: child),
tween: Tween<double>(begin: begin, end: end),
);
}

// class SlideAnimation extends GetAnimatedBuilder<Offset> {
Expand Down Expand Up @@ -123,12 +116,10 @@ class BounceAnimation extends GetAnimatedBuilder<double> {
required double end,
super.idleValue = 0,
}) : super(
builder: (context, value, child) => Transform.scale(
scale: 1 + value.abs(),
child: child,
),
tween: Tween<double>(begin: begin, end: end),
);
builder: (context, value, child) =>
Transform.scale(scale: 1 + value.abs(), child: child),
tween: Tween<double>(begin: begin, end: end),
);
}

class SpinAnimation extends GetAnimatedBuilder<double> {
Expand All @@ -140,12 +131,10 @@ class SpinAnimation extends GetAnimatedBuilder<double> {
super.onComplete,
super.idleValue = 0,
}) : super(
builder: (context, value, child) => Transform.rotate(
angle: value * pi / 180.0,
child: child,
),
tween: Tween<double>(begin: 0, end: 360),
);
builder: (context, value, child) =>
Transform.rotate(angle: value * pi / 180.0, child: child),
tween: Tween<double>(begin: 0, end: 360),
);
}

class SizeAnimation extends GetAnimatedBuilder<double> {
Expand All @@ -159,12 +148,10 @@ class SizeAnimation extends GetAnimatedBuilder<double> {
required double begin,
required double end,
}) : super(
builder: (context, value, child) => Transform.scale(
scale: value,
child: child,
),
tween: Tween<double>(begin: begin, end: end),
);
builder: (context, value, child) =>
Transform.scale(scale: value, child: child),
tween: Tween<double>(begin: begin, end: end),
);
}

class BlurAnimation extends GetAnimatedBuilder<double> {
Expand All @@ -178,15 +165,12 @@ class BlurAnimation extends GetAnimatedBuilder<double> {
required double end,
super.idleValue = 0,
}) : super(
builder: (context, value, child) => BackdropFilter(
filter: ImageFilter.blur(
sigmaX: value,
sigmaY: value,
),
child: child,
),
tween: Tween<double>(begin: begin, end: end),
);
builder: (context, value, child) => BackdropFilter(
filter: ImageFilter.blur(sigmaX: value, sigmaY: value),
child: child,
),
tween: Tween<double>(begin: begin, end: end),
);
}

class FlipAnimation extends GetAnimatedBuilder<double> {
Expand All @@ -200,16 +184,16 @@ class FlipAnimation extends GetAnimatedBuilder<double> {
required double end,
super.idleValue = 0,
}) : super(
builder: (context, value, child) {
final radians = value * pi;
return Transform(
transform: Matrix4.rotationY(radians),
alignment: Alignment.center,
child: child,
);
},
tween: Tween<double>(begin: begin, end: end),
);
builder: (context, value, child) {
final radians = value * pi;
return Transform(
transform: Matrix4.rotationY(radians),
alignment: Alignment.center,
child: child,
);
},
tween: Tween<double>(begin: begin, end: end),
);
}

class WaveAnimation extends GetAnimatedBuilder<double> {
Expand All @@ -223,16 +207,16 @@ class WaveAnimation extends GetAnimatedBuilder<double> {
required double end,
super.idleValue = 0,
}) : super(
builder: (context, value, child) => Transform(
transform: Matrix4.translationValues(
0.0,
20.0 * sin(value * pi * 2),
0.0,
),
child: child,
),
tween: Tween<double>(begin: begin, end: end),
);
builder: (context, value, child) => Transform(
transform: Matrix4.translationValues(
0.0,
20.0 * sin(value * pi * 2),
0.0,
),
child: child,
),
tween: Tween<double>(begin: begin, end: end),
);
}

class WobbleAnimation extends GetAnimatedBuilder<double> {
Expand All @@ -246,15 +230,15 @@ class WobbleAnimation extends GetAnimatedBuilder<double> {
required double end,
super.idleValue = 0,
}) : super(
builder: (context, value, child) => Transform(
transform: Matrix4.identity()
..setEntry(3, 2, 0.001)
..rotateZ(sin(value * pi * 2) * 0.1),
alignment: Alignment.center,
child: child,
),
tween: Tween<double>(begin: begin, end: end),
);
builder: (context, value, child) => Transform(
transform: Matrix4.identity()
..setEntry(3, 2, 0.001)
..rotateZ(sin(value * pi * 2) * 0.1),
alignment: Alignment.center,
child: child,
),
tween: Tween<double>(begin: begin, end: end),
);
}

class SlideInLeftAnimation extends SlideAnimation {
Expand All @@ -268,9 +252,9 @@ class SlideInLeftAnimation extends SlideAnimation {
required super.end,
super.idleValue = 0,
}) : super(
offsetBuild: (context, value) =>
Offset(value * MediaQuery.of(context).size.width, 0),
);
offsetBuild: (context, value) =>
Offset(value * MediaQuery.sizeOf(context).width, 0),
);
}

class SlideInRightAnimation extends SlideAnimation {
Expand All @@ -284,9 +268,9 @@ class SlideInRightAnimation extends SlideAnimation {
required super.end,
super.idleValue = 0,
}) : super(
offsetBuild: (context, value) =>
Offset((1 - value) * MediaQuery.of(context).size.width, 0),
);
offsetBuild: (context, value) =>
Offset((1 - value) * MediaQuery.sizeOf(context).width, 0),
);
}

class SlideInUpAnimation extends SlideAnimation {
Expand All @@ -300,9 +284,9 @@ class SlideInUpAnimation extends SlideAnimation {
required super.end,
super.idleValue = 0,
}) : super(
offsetBuild: (context, value) =>
Offset(0, value * MediaQuery.of(context).size.height),
);
offsetBuild: (context, value) =>
Offset(0, value * MediaQuery.sizeOf(context).height),
);
}

class SlideInDownAnimation extends SlideAnimation {
Expand All @@ -316,9 +300,9 @@ class SlideInDownAnimation extends SlideAnimation {
required super.end,
super.idleValue = 0,
}) : super(
offsetBuild: (context, value) =>
Offset(0, (1 - value) * MediaQuery.of(context).size.height),
);
offsetBuild: (context, value) =>
Offset(0, (1 - value) * MediaQuery.sizeOf(context).height),
);
}

class SlideAnimation extends GetAnimatedBuilder<double> {
Expand All @@ -333,12 +317,12 @@ class SlideAnimation extends GetAnimatedBuilder<double> {
super.onComplete,
super.idleValue = 0,
}) : super(
builder: (context, value, child) => Transform.translate(
offset: offsetBuild(context, value),
child: child,
),
tween: Tween<double>(begin: begin, end: end),
);
builder: (context, value, child) => Transform.translate(
offset: offsetBuild(context, value),
child: child,
),
tween: Tween<double>(begin: begin, end: end),
);
}

// class ZoomAnimation extends GetAnimatedBuilder<double> {
Expand Down Expand Up @@ -371,14 +355,14 @@ class ColorAnimation extends GetAnimatedBuilder<Color?> {
required Color end,
Color? idleColor,
}) : super(
builder: (context, value, child) => ColorFiltered(
colorFilter: ColorFilter.mode(
Color.lerp(begin, end, value!.a.toDouble())!,
BlendMode.srcIn,
),
child: child,
),
idleValue: idleColor ?? begin,
tween: ColorTween(begin: begin, end: end),
);
builder: (context, value, child) => ColorFiltered(
colorFilter: ColorFilter.mode(
Color.lerp(begin, end, value!.a.toDouble())!,
BlendMode.srcIn,
),
child: child,
),
idleValue: idleColor ?? begin,
tween: ColorTween(begin: begin, end: end),
);
}
Loading