pie_menu 3.8.3
pie_menu: ^3.8.3 copied to clipboard
A Flutter package providing a highly customizable circular/radial context menu
3.8.3 #
- Fixed a crash caused by a null check operator on a null value when pointer events were handled after the canvas was disposed.
3.8.2 #
- Fixed
onPressedandonPressedWithDevicenever firing when accessible navigation is enabled (e.g. TalkBack, Switch Access or Voice Access on Android), which left the menu child completely unresponsive. The primary press is now exposed as both a tap target and a semantic action.
3.8.1 #
- Fixed valid taps being suppressed by a redundant pointer movement check.
- Deprecated
PieTheme.pressCancelThreshold; tap cancellation now relies on Flutter gesture recognition.
3.8.0 #
- Added
pressCancelThresholdtoPieThemeto configure the pointer travel distance that cancels a tap. - Raised the default press cancel threshold from
8tokTouchSlop(18) to match Flutter's standard tap slop. - Parent icon theme is now respected by using
IconTheme.merge.
3.7.0 #
- Added
hitTestBehaviortoPieThemeto allow customizing hit test behavior of the menu.
3.6.0 #
- Added support accessible navigation.
- Bumped minimum SDK version to 3.8.0.
3.5.0 #
- Added
PieCanvasControllerto programmatically control open menus from anywhere within the canvas. - Added optional
animateparameter tocloseMenumethod inPieCanvasControllerandPieMenuControllerto allow force closing menus.
3.4.0 #
- Wrapped canvas with
PopScopeto dismiss the menu using system back gestures. - Fixed
RenderObject.getTransformToexception thrown fromPieCanvasCoreduring build. #88 - Bumped minimum SDK version to 3.7.0.
3.3.4 #
- Added test coverage by @lauweijie.
3.3.3 #
- Added
PieMenuPressNotificationto prevent parentPieMenufrom handling press events when a child widget is pressed. - Fixed nested
PieMenugesture conflicts.
3.3.2 #
3.3.1 #
- Fixed some issues related to event handling.
3.3.0 #
- Deprecated
delayDurationinPieThemein favor ofregularPressShowsMenu,longPressShowsMenuandlongPressDuration. If you were previously usingdelayDurationto show the menu on regular press, you can now useregularPressShowsMenuinstead. - Fixed potential memory leak caused by
LongPressGestureRecognizernot being disposed properly.
3.2.10 #
- Performance improvements.
3.2.9 #
- Fixed other
RenderBoxrelated issues.
3.2.8 #
- Fixed an issue related to
RenderBoxof the canvas. - Replaced deprecated
withOpacitymethods withwithValues.
3.2.7 #
- Added widget mounted checks to fix exceptions thrown from pointer events of a disposed Pie Menu.
3.2.6 #
- Added
childBounceFilterQualityoption toPieThemeto adjust the quality of the child bounce transformation.
3.2.5 #
- Fixed child widget initializing twice when bouncing is enabled.
3.2.4 #
- Hotfix for scrollable performance issue.
3.2.3 #
- Another hotfix for exceptions thrown from bouncing widget.
3.2.2 #
- Fixed exceptions thrown from bouncing widget. #57
- Fixed inconsistency in menu child positioning when the scroll position changes while the menu is open.
3.2.1 #
- Fixed some stateful widgets are trying to set their state after being disposed.
3.2.0 #
3.1.3 #
- Fixed changelog typos.
3.1.2 #
- Small bug fixes.
3.1.1 #
- Fixed timers not being disposed properly, causing errors during navigation.
- Fixed some child bounce animation issues.
3.1.0 #
- Improved the child bounce animation by adding a 3D tilt effect to it inspired by Bounce package. Can be disabled by setting
childTiltEnabledtofalseinPieTheme. - Added
overlayStyletoPieThemeto switch between the old and new overlay styles.PieOverlayStyle.behind(the old style) is used by default because the new one causes render issues in some cases. - Other minor improvements and bug fixes.
3.0.0 #
- When a
PieMenuactivates, other gestures are now automatically cancelled. You no longer need to useNeverScrollableScrollPhysicsto disable scrolling or to deactivate the functionality of your interactive menu child. - Overlay is now drawn around the menu child using
CustomPaint. This addresses the issue of the menu child losing its state when the menu is activated. - Fixed some animation issues and slightly improved performance by implementing a better state management solution.
- Replaced
childBounceDistancewithchildBounceFactorinPieTheme. - Other minor improvements and bug fixes.
2.0.2 #
- Fixed changelog typos.
2.0.1 #
- Wrapped canvas with a transparent
Materialto be able to use it outsideScaffold.
2.0.0 #
- Desktop and web experience is significantly improved with this update. Check new features and updated readme for details.
- Added live Flutter web demo, give it a try!
Breaking changes #
Inside PieTheme;
- Changed
tooltiptype fromStringtoWidget, you can now use custom widgets as tooltips. - Renamed
tooltipStyletotooltipTextStyle. - Renamed
distancetoradius. bouncingMenuis renamed tochildBounceEnabled, and all the related attributes that starts withmenuBounce...are renamed tochildBounce...to avoid confusion.
Other;
onTapcallback insidePieMenuis renamed toonPressed. Also added a newonPressedWithDevicecallback that providesPointerDeviceKind, allowing you to distinguish between mouse and touch events.- Removed
paddingfromPieActionsince it already has achildthat can be wrapped with aPaddingwidget.
New features and enhancements #
Inside PieTheme;
- Added
rightClickShowsMenuandleftClickShowsMenuattributes to customize the mouse behavior. #13 - Added
customAngleandcustomAngleAnchorattributes to set a fixed positioning for the buttons. #34 - Added
tooltipCanvasAlignmentto specify a custom alignment for the tooltip in the canvas. #35 - Added
tooltipUseFittedBoxto allow the tooltip to be resized to fit the text into a single line. - Added
pointerDecoration, allowing you to style the widget at the center of the menu.
Other;
- Hovering over the buttons with mouse highlights them now. Also, cursor changes when the menu or buttons are hovered. #16
- Improved dynamic menu angle calculation (again).
- Improved dynamic tooltip positioning.
- Fixed text style related issues. Menu, canvas and default text styles are now being merged properly.
- Other performance improvements and bug fixes.
1.3.0 #
- Improved menu angle calculation, the menu is now displayed at a better angle when opened from the corners of the screen.
- Added
angleOffsetparameter toPieThemeto adjust the menu angle.
1.2.6 #
- Fixed some critical gesture issues.
1.2.5 #
- Replaced
menuBounceDepthwithmenuBounceDistanceinPieThemeand improved default bounce animation. - Fixed #28.
1.2.4 #
- Improved menu bounce animations.
- Added macOS demo.
1.2.3 #
- Fixed broken repository links in
README.md.
1.2.2 #
- Fixed menu not displaying and child disappearing on iOS devices. #23
- Fixed menu being able to be activated from blank canvas areas.
1.2.1 #
- Fixed stateful menu children not being updated.
1.2.0 #
- Added
ScrollConfigurationto disable scrolling automatically when aPieMenuis visible, but it is not working properly at the moment because of this issue with Flutter framework. - Added missing
copyWith()parameters inPieTheme. - Added
PieTheme.of(context)function to accessPieCanvastheme fromPieMenuand customize it easily. - Removed
childHoveredparameter fromPieAction, you can usePieAction.builder()and itsbuilderparameter for custom hovered buttons. - Fixed menu child staying visible after dismiss.
- Fixed issues related to animations after dispose.
- Improved fade animations.
- Stability and performance improvements.
1.1.0 #
- Added bouncing menu child animation. (Can be customized or disabled with
PieTheme) - Added
onTapcallback toPieMenu. - Clicking the center of the menu now dismisses it.
- Bug fixes and stabilization improvements.
1.0.0 #
- Migrated to Flutter 3
- Updated
PieActionproperties, nowchildandchildHoveredshould be used instead of the oldiconData,customWidget,customHoveredWidgetproperties. - No longer depends on the
font_awesome_flutterpackage, because icons should be specified as widgets. - Some property names are updated. Check the documentation for more info.
0.2.0 #
- Menu now stays open when the pointer is released over the pressed area.
- Fixed listener above the menu not responding to some pointer events outside of menus.
- Added custom menu child to display when the menu is visible.
0.1.1 #
- Fixed last selected action label becoming visible for a short time after reopening the menu.
- Using
PieMenuwithoutPieCanvasnow deactivates the menu and just displays the child.
0.1.0 #
- Font Awesome Icons can now be used with
font_awesome_flutterpackage.
0.0.7 #
- Custom container decoration can now be specified using
decorationproperty ofPieButtonTheme.
0.0.6 #
- Added
iconSizeproperty forPieTheme. - Fixed selected action is becoming non-hovered before the menu fades out.
0.0.5 #
- Fixed
onMenuTogglecallback ofPieMenuis not being called when the canvas callback is null.
0.0.4 #
onMenuTogglecallback atPieCanvasalso added forPieMenu.
0.0.3 #
- Updated README.md showcase images.
0.0.2 #
- Fixed README.md images.
- Updated package description.
0.0.1 #
- Initial release.
