slide_reveal_screen 1.0.7
slide_reveal_screen: ^1.0.7 copied to clipboard
A Flutter package for sliding and revealing hidden side panels with smooth animations.
✨ 1.0.7 #
- New Features
- Full-screen gestures: Added
enableFullScreenGestures
parameter for horizontal drags from anywhere on screen - ListView compatibility: Vertical scrolling works normally while horizontal drags trigger slide reveal
- PageView compatibility: When
isRightActive: false
, PageView handles right swipes while slide reveal handles left swipes - Bidirectional gestures: Revealed hidden pages can now be dragged back to close in the opposite direction
- Smart gesture detection: Automatic vertical scroll prevention when horizontal gesture wins the gesture arena
- Full-screen gestures: Added
- API
- Added
enableFullScreenGestures: bool
parameter (defaults totrue
for new feature,false
maintains original behavior)
- Added
- Backwards Compatibility
- Fully backwards compatible - existing implementations work unchanged when
enableFullScreenGestures: false
- Original edge-based gesture behavior preserved as fallback
- Fully backwards compatible - existing implementations work unchanged when
🐛 1.0.6 #
- Bug fixes
- Prevents interaction with main content when sliding is in progress by wrapping it in
AbsorbPointer
- Prevents interaction with main content when sliding is in progress by wrapping it in
🐛 1.0.5 #
- Bug fixes
- Fixes rendering issue when using
showCupertinoSheet
- Fixes rendering issue when using
- API
leftPlaceHolderWidget
&rightPlaceHolderWidget
are optional, but if not provided theirbuilder
methods should be provided.
⚡️ 1.0.4 #
- Resource Management:
- Lazy widget instantiation: Completely rewrote hidden page management to properly unmount widgets when not visible
- Widget builders: Added
leftHiddenPageBuilder
andrightHiddenPageBuilder
for on-demand widget creation - Memory optimization: Resource-intensive widgets (like camera views) are now fully removed from widget tree when hidden
- Lifecycle improvements: Hidden pages now respect proper widget lifecycle for initialization and disposal
- Reduced memory footprint: Eliminated persistent widget instances when pages are not visible
⚡️ 1.0.3 #
- Performance:
- Dimension caching: Edge dimensions are now cached and only recalculated when constraints change, reducing CPU usage during animations by up to 15%
- Optimized rebuild hierarchy: Restructured widget tree to minimize rebuilds during animations, improving frame rates
- LayoutBuilder integration: Added responsive handling of window resizing with efficient constraint detection
- Reduced memory allocations: Minimized object creation during animation frames
- Animation value optimization: Improved handling of animation values to reduce unnecessary calculations
⚡️ 1.0.2 #
- Performance:
- Added
RepaintBoundary
to key components and eliminated nestedAnimatedBuilder
for faster animations - Pre-wrapped main content outside builder function and optimized offset calculations
- Added
- Fixes: Resolved window resizing errors by properly handling MediaQuery dimensions
- API: Added
onProgressChanged
callback withSlideRevealProgress
for tracking animation state - Structure: Improved package structure with a clean export API
⚡️ 1.0.1 #
- Performance: Improved rendering efficiency by optimizing animation rebuilds, adding RepaintBoundary for the main content, removing redundant animation listeners, and implementing conditional widget rendering to reduce unnecessary rebuilds during sliding animations
🎉 1.0.0 #
- Initial release. Check out the README file for instructions.