loop_transition 1.0.0
loop_transition: ^1.0.0 copied to clipboard
Provides a way to create animated transitions on a child widget that repeat a certain number of times.
The loop_transition package offers a versatile widget called LoopTransition that allows you to apply repeatable animated transitions to a child widget. These transitions cycle through a specified number of times, creating dynamic effects within your UI.
Features #
- Repeatable Animations: Define the number of times the animation loop should play using the
repeatparameter. A value of-1signifies indefinite looping. - Pre-built Transitions: The package provides several built-in transition functions like
fade,spin,slide,zoom, andshimmer, making it easy to add common animation effects to your child widget. - Customizable Transitions: You can define your own transition functions using the
LoopTransitionBuilder, granting you complete control over the animation behavior. - Pause Control: The addition of the
pauseparameter allows you to pause and resume the animation playback dynamically. - Animation Direction: Independently control the animation's play direction using the
forwardandreverseparameters. Play the animation forward(forward: true, reverse: false), backward(forward:false, reverse: true), or both totruefor a mirroring effect. - Mirroring Effect: By setting both
forwardandreversetotrue, you can create a mirroring effect where the animation plays forward and then backward within a single loop iteration. - Customization: Control animation
duration,delay,curve, and other parameters to tailor the animation behavior to your needs.
Usage #
To read more about classes and other references used by loop_transition, see the API Reference.
Import the package #
import 'package:loop_transition/loop_transition.dart';
Create a LoopTransition widget #
LoopTransition(
transition: LoopTransition.fade, // Choose a built-in transition
duration: Duration(milliseconds: 500), // Adjust animation duration
repeat: 2, // Repeat the animation twice
pause: false, // Start the animation playing
forward: true, // Play animation forward (optional)
reverse: false, // Play animation in reverse (optional)
child: MyWidget(), // The widget you want to animate
),
Built-in transitions #
The package provides various built-in transitions you can use directly:
LoopTransition.fade: Fades the child widget in and out during the animation cycle.LoopTransition.spin: Rotates the child widget around a central point.LoopTransition.slide: Slides the child widget to a specified position.LoopTransition.zoom: Zooms the child widget in and out.LoopTransition.shimmer: Creates a shimmering effect on the child widget.LoopTransition.shakeX: Shakes the child widget horizontally.LoopTransition.shakeY: Shakes the child widget vertically.
Custom transitions #
For more control, define your own transition functions using LoopTransitionBuilder:
final myCustomTransition = (child, animation) {
// Implement your custom animation logic here
return Container(child: child); // Wrap the child widget
};
LoopTransition(
transition: myCustomTransition,
child: MyWidget(),
),
Sponsoring #
If this package or any other package I created is helping you, please consider to sponsor me so that I can take time to read the issues, fix bugs, merge pull requests and add features to these packages.
