holding_gesture

Last updated:

0 purchases

holding_gesture Image
holding_gesture Images
Add to Cart

Description:

holding gesture

holding_gesture #
A customized GestureDetector that acts on holding a determined Widget.
Getting Started #
import 'package:holding_gesture/holding_gesture.dart';
copied to clipboard
HoldDetector #
After importing, all you have to do is use HoldDetector the same way you already used GestureDetector! As it is on the documentation, its onTap override won't work when using a child that has onPressed or a similar callback, so you should pass the single tap behaviour to that.
HoldDetector(
onHold: _incrementCounter,
holdTimeout: Duration(milliseconds: 200),
enableHapticFeedback: true,
child: ElevatedButton(
onPressed: _incrementCounter,
child: Text("onHold"),
),
),
copied to clipboard
HoldTimeoutDetector #
HoldTimeoutDetector works differently, you can use it to hold conditions or display something while the user is holding it for a predetermined time, and then execute an action after this duration passes, or canceling it if the hold action ceases. In the example, I'm using it to show a feedback on the button, and on the screen that something is loading, and then executing the increment once the timeout happens.
HoldTimeoutDetector(
onTimeout: () {
_incrementCounter();
_updateLoading(false);
},
onTimerInitiated: () => _updateLoading(true),
onCancel: () => _updateLoading(false),
holdTimeout: Duration(milliseconds: 3000),
enableHapticFeedback: true,
child: ElevatedButton.icon(
onPressed: () {},
label: Text("onTimeout"),
icon: _isLoading
? SizedBox(
width: 16,
height: 16,
child: CircularProgressIndicator(
strokeWidth: 2,
valueColor: AlwaysStoppedAnimation(Colors.white),
),
)
: Icon(Icons.timer_3),
),
),
copied to clipboard
The main example, above and in example/, is the same as the default Flutter app, with the adition of a haptic feedback to each tick and the ability to hold the button to keep adding to the counter.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.