Overview
TapDebounce is a Flutter package that simplifies preventing repeated taps on widgets, particularly buttons. By wrapping a widget with the TapDebounce widget, it disables further taps during the execution of the tap callback, reducing the risk of accidental multiple submissions. Ideal for forms, actions, or any interactive elements where rapid tapping could cause issues. It supports all major platforms and integrates seamlessly into existing Flutter projects.
Use cases
- Preventing duplicate form submissions
- Avoiding rapid button clicks in payment flows
- Improving UX in action-heavy interfaces
- Reducing unintended state changes
- Handling slow network responses safely
- Protecting against accidental double-taps
Key features
- Automatic tap disabling during callback
- Simple wrap-around integration
- Cross-platform support
- Minimal boilerplate
- Configurable debounce duration
- Works with any widget
Suitable for
- Developers seeking quick tap protection
- Form and action UIs with high tap risk
- Apps requiring reliable user interaction control
- Teams prioritizing UX consistency
- Projects with frequent button interactions
Considerations
- Does not prevent taps if callback completes instantly
- May require manual reset for long-running tasks
- Limited to tap events only
- No built-in feedback for disabled state
- Not suitable for complex gesture recognition
- Requires careful handling in async workflows
