swipeable_button_view
You can create ripple animated pages with swipeable_button_view.
Install
Add swipeable_button_view: to your pubspec.yaml dependencies then run flutter pub get
dependencies:
swipeable_button_view:
Then import the package to use
import 'package:swipeable_button_view/swipeable_button_view.dart';
Example
import 'package:swipeable_button_view/swipeable_button_view.dart';
SwipeableButtonView(
buttonText: 'SLIDE TO PAYMENT',
buttonWidget: Container(
child: Icon(Icons.arrow_forward_ios_rounded,
color: Colors.grey,
),),
activeColor: Color(0xFF009C41),
isFinished: isFinished,
onWaitingProcess: () {
Future.delayed(Duration(seconds: 2), () {
setState(() {
isFinished = true;
});
});
},
onFinish: () async {
await Navigator.push(context,
PageTransition(
type: PageTransitionType.fade,
child: DashboardScreen()));
//TODO: For reverse ripple effect animation
setState(() {
isFinished = false;
});
},
)
Screen Recording
Props
| props | types | defaultValues | isRequired |
|---|---|---|---|
| onFinish | VoidCallback |
true |
|
| onWaitingProcess | VoidCallback |
true |
|
| activeColor | Color |
true |
|
| buttonWidget | Widget |
true |
|
| buttonText | String |
true |
|
| isFinished | bool |
false |
|
| isActive | bool |
true |
|
| disableColor | Color |
Colors.grey |
|
| buttonColor | Color |
Colors.white |
|
| buttontextstyle | TextStyle |
TextStyle(color: Colors.white, fontWeight: FontWeight.bold) |
|
| indicatorColor | Animation<Color?> |
AlwaysStoppedAnimation<Color>(Colors.white)}) |