A Flutter package that provides smooth page transitions and animations with customizable effects. Perfect for creating engaging user interfaces with horizontal page navigation.
Features
Multiple animation types for page transitions, switchable in realtime
Infinite scrolling in both directions, with ability to set bounds in realtime
Animated switcher - tap on a page, and it will zoom out, similar to Kindle reader
Immersive mode support
Animation Types
The package supports various animation types through PageAnimatorType. Here's a comprehensive list of all available animations:
The PageAnimatorController provides several methods to control page transitions:
animateToOffset(int offset): Animate to a specific page offset
type: Change the animation type dynamically
switcherActive: Control the page switcher state
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Parameters
children: List of widgets to display as pages
onPageChanged: Callback when page is changed
leftMostIndex: The first page user can go to
rightMostIndex: The last page user can go to
controller: PageAnimatorController instance
enableImmersiveSwitch: Optional boolean that controls whether to enable immersive mode while switcher is inactive, and automatically disable it when user enters switcher. If not specified, defaults to true.
onDragStart: Optional callback when drag starts
onDragEnd: Optional callback when drag ends
onDragAnimationStart: Optional callback when animation starts
onDragAnimationEnd: Optional callback when animation ends