awaitable_button 1.3.0
SDKflutter
Platformandroidioswindowslinuxmacosweb
A button that displays an indicator during asynchronous processing and allows callbacks to be executed after completion or exception catch.
Awaitable Button
Features
Button with indicator display during processing to prevent consecutive hits.
Web demo for awaitable_button/example
You can try out the interactive buttons on the demo page below.
https://altive.github.io/flutter_widgets/
Getting started
awaitable_button: any
Usage
import 'package:awaitable_button/awaitable_button.dart';
This package includes the following buttons. Use them according to your style.
AwaitableElevatedButtonAwaitableOutlinedButtonAwaitableTextButtonAwaitableFilledButtonAwaitableFilledTonalButton
@override
Widget build(BuildContext context) {
return AwaitableElevatedButton<String>(
// Required
onPressed: () {
// do something
},
// Optional
whenComplete: (value) {
// do something
},
// Optional
onError: (exception, stackTrace) {
// do something
},
// Optional
buttonStyle: ElevatedButton.styleFrom(),
// Optional
indicator: CircularProgressIndicator(),
// Optional
indicatorColor: Colors.green,
// Optional
indicatorSize: Size.square(24),
// Optional
executingChild: const Text('Executing...'),
// Required
child: const Text('Button'),
);
}
AwaitableOutlinedButton, AwaitableTextButton, AwaitableFilledButton and AwaitableFilledTonalButton is exactly the same as for AwaitableElevatedButton.
@override
Widget build(BuildContext context) {
return AwaitableIconButton<String>(
// Required
onPressed: () {
// do something
},
// Optional
whenComplete: (value) {
// do something
},
// Optional
onError: (exception, stackTrace) {
// do something
},
// Optional
iconSize: 24,
// Optional
indicator: CircularProgressIndicator(),
// Optional
indicatorColor: Colors.green,
// Optional
indicatorSize: Size.square(24),
// Optional
executingIcon: const Icon(Icons.timer_sharp),
// Required
icon: const Icon(Icons.timer),
);
}