anchor_toast
A Flutter package for displaying contextual toasts anchored to widgets with smart positioning and smooth animations.
What this package is like to depend on
Last release 1 years ago
10 Jul 2025
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 7 of 7 stable releases
Nothing withdrawn
no release was ever pulled
1 years old
7 releases · first in 2025
0 releases in the last 12 months
see the full history below
Release timeline
7 releases · Jun 2025 to Jul 2025
2026
Releases
latest 7-
0.3.310 Jul 2025Release notes
Open source →Fixed
- Improved Horizontal Positioning: Enhanced toast positioning logic for better centering and screen boundary handling
- Toasts now remain perfectly centered on anchor widgets when possible
- Improved screen edge detection to prevent toasts from being cut off
- Added dynamic width calculation using LayoutBuilder for precise positioning
- Fixed issues with toasts being off-center when anchor is not centered on screen
- Maintains proper screen padding while optimizing available space
Release notes
Open source →Fixed
- Improved Horizontal Positioning: Enhanced toast positioning logic for better centering and screen boundary handling
- Toasts now remain perfectly centered on anchor widgets when possible
- Improved screen edge detection to prevent toasts from being cut off
- Added dynamic width calculation using LayoutBuilder for precise positioning
- Fixed issues with toasts being off-center when anchor is not centered on screen
- Maintains proper screen padding while optimizing available space
- Improved Horizontal Positioning: Enhanced toast positioning logic for better centering and screen boundary handling
-
0.3.218 Jun 2025Release notes
Open source →Added
- Configurable Dismiss Animation: New optional
animateparameter indismiss()method for controlling dismissal animationdismiss()- Dismisses with animation (default behavior, maintains backward compatibility)dismiss(animate: true)- Explicitly dismisses with animationdismiss(animate: false)- Dismisses immediately without animation- Useful for scenarios requiring instant dismissal or custom animation handling
Release notes
Open source →Added
- Configurable Dismiss Animation: New optional
animateparameter indismiss()method for controlling dismissal animationdismiss()- Dismisses with animation (default behavior, maintains backward compatibility)dismiss(animate: true)- Explicitly dismisses with animationdismiss(animate: false)- Dismisses immediately without animation- Useful for scenarios requiring instant dismissal or custom animation handling
- Configurable Dismiss Animation: New optional
-
0.3.117 Jun 2025Release notes
Open source →Fixed
- Toast Interactivity Issue: Fixed toasts not being clickable due to improper use of
FractionalTranslationwidget- Replaced
FractionalTranslationwith properPositioned,Align, andTransform.translatewidgets
- Replaced
Release notes
Open source →Fixed
- Toast Interactivity Issue: Fixed toasts not being clickable due to improper use of
FractionalTranslationwidget- Replaced
FractionalTranslationwith properPositioned,Align, andTransform.translatewidgets
- Replaced
- Toast Interactivity Issue: Fixed toasts not being clickable due to improper use of
-
0.3.010 Jun 2025Release notes
Open source →Added
- Global Dismiss All Functionality: New static
dismissAll()method inAnchorToastControllerfor dismissing all active toastsAnchorToastController.dismissAll()dismisses toasts from all controllers across the entire application- Automatic controller registry system tracks all active controllers
- Controllers are automatically registered on creation and unregistered on disposal
- Safe concurrent modification handling prevents issues when dismissing multiple toasts
Improved
- Example App Enhancement: Updated example to demonstrate the new
dismissAll()functionality- Simplified "Dismiss All Toasts" button implementation using the new static method
- Cleaner code by removing the need to manually call dismiss on each individual controller
Release notes
Open source →Added
- Global Dismiss All Functionality: New static
dismissAll()method inAnchorToastControllerfor dismissing all active toastsAnchorToastController.dismissAll()dismisses toasts from all controllers across the entire application- Automatic controller registry system tracks all active controllers
- Controllers are automatically registered on creation and unregistered on disposal
- Safe concurrent modification handling prevents issues when dismissing multiple toasts
Improved
- Example App Enhancement: Updated example to demonstrate the new
dismissAll()functionality- Simplified "Dismiss All Toasts" button implementation using the new static method
- Cleaner code by removing the need to manually call dismiss on each individual controller
- Global Dismiss All Functionality: New static
-
0.2.009 Jun 2025Release notes
Open source →Added
- Customizable Screen Padding: New
screenPaddingparameter inshowToast()method allows control over screen edge padding- Default value remains 16.0 pixels for backward compatibility
- Controls minimum distance between toast and screen edges
- Affects toast positioning and maximum width calculations
- Applies to both automatic positioning and manual position updates during scrolling
Improved
- Enhanced Keyboard-Aware Positioning: Comprehensive keyboard and view insets handling for optimal toast placement
- Real-time Keyboard Tracking: Automatic repositioning when keyboard appears/disappears using view insets monitoring
- Vertical Bounds Checking: Toasts are automatically clamped within safe screen bounds considering keyboard height
- Unified Position Calculation: Single positioning logic ensures consistency between initial placement and dynamic updates
- Optimized ValueNotifier Lifecycle: Position notifier is now reused across multiple toasts for better memory efficiency
Fixed
- Null Safety Improvements: Removed all null assertion operators (
!) and replaced with safe null-checking patterns - Position Calculation Consistency: Unified the initial toast positioning and scroll-based repositioning logic to prevent discrepancies
- Memory Optimization: Position notifier is no longer recreated for each toast, reducing garbage collection overhead
Release notes
Open source →Added
- Customizable Screen Padding: New
screenPaddingparameter inshowToast()method allows control over screen edge padding- Default value remains 16.0 pixels for backward compatibility
- Controls minimum distance between toast and screen edges
- Affects toast positioning and maximum width calculations
- Applies to both automatic positioning and manual position updates during scrolling
Improved
- Enhanced Keyboard-Aware Positioning: Comprehensive keyboard and view insets handling for optimal toast placement
- Real-time Keyboard Tracking: Automatic repositioning when keyboard appears/disappears using view insets monitoring
- Vertical Bounds Checking: Toasts are automatically clamped within safe screen bounds considering keyboard height
- Unified Position Calculation: Single positioning logic ensures consistency between initial placement and dynamic updates
- Optimized ValueNotifier Lifecycle: Position notifier is now reused across multiple toasts for better memory efficiency
Fixed
- Null Safety Improvements: Removed all null assertion operators (
!) and replaced with safe null-checking patterns - Position Calculation Consistency: Unified the initial toast positioning and scroll-based repositioning logic to prevent discrepancies
- Memory Optimization: Position notifier is no longer recreated for each toast, reducing garbage collection overhead
- Customizable Screen Padding: New
-
0.1.009 Jun 2025Release notes
Open source →Added
- Manual Position Override: New
showAboveparameter inshowToast()method allows manual control over toast positioning- Set
showAbove: trueto force toast above the anchor - Set
showAbove: falseto force toast below the anchor - Set
showAbove: null(default) to use automatic smart positioning
- Set
Improved
- Keyboard-Aware Positioning: Smart positioning now considers view insets (keyboard, system UI) for better toast placement
- Automatically accounts for keyboard height when calculating available space
- Uses visible screen area center instead of full screen center when keyboard is shown
- Ensures toasts remain visible and accessible when keyboard or other system UI is active
Release notes
Open source →Added
- Manual Position Override: New
showAboveparameter inshowToast()method allows manual control over toast positioning- Set
showAbove: trueto force toast above the anchor - Set
showAbove: falseto force toast below the anchor - Set
showAbove: null(default) to use automatic smart positioning
- Set
Improved
- Keyboard-Aware Positioning: Smart positioning now considers view insets (keyboard, system UI) for better toast placement
- Automatically accounts for keyboard height when calculating available space
- Uses visible screen area center instead of full screen center when keyboard is shown
- Ensures toasts remain visible and accessible when keyboard or other system UI is active
- Manual Position Override: New
-
0.0.109 Jun 2025Release notes
Open source →Initial Release
- AnchorToast Widget: Wrap any anchor widget to enable toast functionality
- AnchorToastController: Complete controller for managing toast display and dismissal
- Smart Positioning: Automatically determines optimal position (above/below) based on available screen space
- Smooth Animations: Beautiful scale and opacity animations with optimized timing
- Auto-dismiss: Configurable duration for automatic toast dismissal
- Manual Dismiss:
dismiss()method for manual toast control - Overlay Integration: Uses Flutter's Overlay system for proper z-index handling
- Customizable Offset: Adjustable spacing between anchor and toast
- Memory Management: Proper disposal of resources and animation controllers
Features
- Smart positioning above/below anchor based on available space
- Scale and opacity animations with smooth curves
- Auto-dismiss with configurable duration
- Manual dismiss capability
- Clean and simple API with
AnchorToastwidget and controller - Proper memory management and cleanup
- Comprehensive test coverage
- Example app with various use cases
- Full documentation and API reference
Release notes
Open source →Initial Release
- AnchorToast Widget: Wrap any anchor widget to enable toast functionality
- AnchorToastController: Complete controller for managing toast display and dismissal
- Smart Positioning: Automatically determines optimal position (above/below) based on available screen space
- Smooth Animations: Beautiful scale and opacity animations with optimized timing
- Auto-dismiss: Configurable duration for automatic toast dismissal
- Manual Dismiss:
dismiss()method for manual toast control - Overlay Integration: Uses Flutter's Overlay system for proper z-index handling
- Customizable Offset: Adjustable spacing between anchor and toast
- Memory Management: Proper disposal of resources and animation controllers
Features
- Smart positioning above/below anchor based on available space
- Scale and opacity animations with smooth curves
- Auto-dismiss with configurable duration
- Manual dismiss capability
- Clean and simple API with
AnchorToastwidget and controller - Proper memory management and cleanup
- Comprehensive test coverage
- Example app with various use cases
- Full documentation and API reference