FLUTTER ECOSYSTEM

tap_debouncer

Tap debounce simplifying widget. Wrap your button widget in TapDebounce widget and any taps will be disabled while tap callback is in progress.

tap_debouncer cover
Latest version
2.2.0
30-day downloads
14.1K
Likes
120
Pub points
160

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

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
Supported platformsAndroidiOSWebmacOSWindowsLinux

Install package

flutter pub add tap_debouncer

Categories

Source repository

Related projects

No data available yet.