kr_pull_down_button 1.0.1
kr_pull_down_button: ^1.0.1 copied to clipboard
A package that implements Pull-Down Button from iOS 14 in Flutter. Highly customizable.
0.6.5 #
- Added
PullDownMenu- a pull-down menu as a simple widget, with no animations or adding routes to navigation stack #17. - Updated
PullDownMenuItem.defaultTapHandlerto work withPullDownMenu.
Various stuff
- Cleaned up internals.
0.6.4 #
- Added
PullDownMenuItem.tapHandlerto allow customization of howPullDownMenuItem.onTapis handled #16. - Added an example for
PullDownMenuItem.tapHandler. See Examples -> Advanced in example app.
0.6.3+1 #
- Fix
PullDownMenuItemTheme.lerpusing incorrect text styles for lerping. - Added clamped animation for menu animations, updated shadow animation.
0.6.2 #
- Added menu height transition and updated open animation curve #14 and #15. Thanks to @iSa1vatore
0.6.1 #
- Fix
PullDownMenuActionsRowitems content not being centered;
0.6.0 #
- Added
PullDownMenuItemsOrder- an ordering logic forPullDownButtonandshowPullDownMenuitems.
Using new native compare tool following things were updated:
- Updated padding values for
PullDownMenuItem. - Updated open / close animation curves - open curve now includes "bouncy" effect native counterpart has #13.
- Note: new curves are still not 100% equal to native, but slightly more similar than before.
- Apply additional small amount of padding for menu positioning if button is smaller than 44px.
Theme updates
- Updated text style, checkmark configuration in
PullDownMenuItemThemedefaults. - Updated shadows for dark mode in
PullDownMenuRouteThemedefaults.
Various stuff
- Updated README screenshots.
- Theme resolvers.
- Added native compare tool.
0.5.1 #
- Fix
PullDownMenuItem.itemTheme.textStylebeing overridden by globalPullDownButtonTheme.itemTheme.textStyleduring text styles marge inPullDownMenuItemandPullDownMenuTitleif both are not null.
0.5.0 #
- Added
showPullDownMenu- an alternative way to display menu #12. - Following things have been updated to be a lot closer to native variant:
- Menu open / close animation to use scaling transition.
PullDownMenuTitle- minimum height to be equal to native variant.- Default colors for
PullDownMenuDividerThemeandPullDownMenuRouteTheme. - On menu open opacity for
PullDownButton.buttonBuilder. PullDownMenuItemtext style and icon color opacity whenPullDownMenuItem.enabledis false.
PullDownMenuItemandPullDownMenuTitle- merge default text styles with provided ones (via theme or widget parameters).
BREAKING CHANGES:
-
PullDownMenuEntryno longer provides fields to override due to their redundancy. -
PullDownMenuEntryno longer extendsStatelessWidget, it now extendsWidget. This was done to allowStatefulWidgets to be used asPullDownMenuEntry#11.Migration:
Before
class PullDownMenuItem extends PullDownMenuEntry {After
class PullDownMenuItem extends StatelessWidget implements PullDownMenuEntry {
0.4.1 #
- Do not use
BackdropFilterfor blur used in pull-down menu if menu's background color is fully opaque #9
0.4.0 #
BREAKING CHANGES:
Menu items
- Simplified API - action related menu items below are being replaced with
PullDownMenuItem:- Replaced
SelectablePullDownMenuItemwithPullDownMenuItem.selectable. - Removed
PullDownMenuIconAction-PullDownMenuActionsRownow usesPullDownMenuItem.
- Replaced
Theming
-
Modularize
PullDownButtonTheme- sincePullDownButtonThemewas becoming a bit overcrowded all properties where split into 4 sub-themes:- routeTheme - menu container theme (
PullDownMenuRouteTheme). - itemTheme -
PullDownMenuItemtheme (PullDownMenuItemTheme). - dividerTheme -
PullDownMenuDividertheme (PullDownMenuDividerTheme). - titleTheme -
PullDownMenuTitletheme (PullDownMenuTitleTheme).
All customization options that were previously available on menu items are now also using sub-themes.
Please see README for detailed info about new sub-themes.
Migration:
Before
PullDownButtonTheme( backgroundColor: colorScheme.surface, dividerColor: colorScheme.outline, largeDividerColor: colorScheme.outlineVariant, destructiveColor: colorScheme.error, textStyle: TextStyle( color: colorScheme.onSurface, ), titleStyle: TextStyle( color: colorScheme.onSurface, ), widthConfiguration: const PullDownMenuWidthConfiguration(280), )After
PullDownButtonTheme( routeTheme: PullDownMenuRouteTheme( backgroundColor: colorScheme.surface, width: 280, ), dividerTheme: PullDownMenuDividerTheme( dividerColor: colorScheme.outline, largeDividerColor: colorScheme.outlineVariant, ), itemTheme: PullDownMenuItemTheme( destructiveColor: colorScheme.error, textStyle: TextStyle( color: colorScheme.onSurface, ), ), titleTheme: PullDownMenuTitleTheme( style: TextStyle( color: colorScheme.onSurface, ), ), ) - routeTheme - menu container theme (
-
Removed
PullDownMenuWidthConfiguration- usePullDownMenuRouteTheme.width. -
PullDownMenuRouteTheme- added customization of menu's border radius, begin and end shadows #8.
0.3.0 #
- Added
PullDownMenuActionsRow- displays multiple actions in a row (from iOS 16), iOS docs. - New examples.
- Updated readme images.
0.2.0-beta.1.1 #
- Fix issue where it was not possible to open pull-down menu when no items where provided to
PullDownMenuDivider.wrapWithDivider. - Updated examples.
BREAKING CHANGES:
-
Update
PullDownMenuDivider's constructors - deprecate (removed any usages)dividerColorandlargeDividerColorfromPullDownMenuDividerandPullDownMenuDivider.largerespectively. Both constructors now use samecolorproperty.Migration:
PullDownMenuDivider(dividerColor: Colors.black) -> PullDownMenuDivider(color: Colors.black) PullDownMenuDivider.large(largeDividerColor: Colors.black) -> PullDownMenuDivider.large(color: Colors.black) -
Default
PullDownMenuPositionofPullDownButtonis nowundersince this behaviour is the most frequent across iOS system apps. -
Reworked the way menus are rendered on screen (position and size) and added new position mode
automatic#5:over- will attempt to fill as much space as possible.under- is forced to be under an anchor. If there is no available space, will be placed above an anchor.above- is forced to be above an anchor. If there is no available space, will be placed under an anchor.automatic- is positioned under or above an anchor depending on side that has more space available.
0.1.0-beta.7 #
- Added
onHoverColortoPullDownButtonTheme+ support for mouse pointers forPullDownMenuItem#6.
0.1.0-beta.6 #
- Added ability to choose to whether apply opacity on menu open for
PullDownButton.buttonBuilderor not #4.
0.1.0-beta.4 #
-
Fix
showDialog(and other actions that change navigation stack) to work directly without any workarounds #1:Instead of
onTap: () async { await Future<void>.delayed(const Duration(milliseconds: 1)); await showDialog<void>( context: context, builder: (context) => ..., ); },Now is possible to write it like this:
onTap: () => showDialog<void>( context: context, builder: (context) => ..., ), -
PullDownMenuItemandSelectablePullDownMenuItem- addediconColorandiconWidgetparameters. -
PullDownMenuTitlereplaceSizedBoxwithConstrainedBoxto allowPullDownMenuTitleto have adaptive height. -
Update
largeDividerColorinPullDownButtonThemeDefaultsto more correct value. -
Fix menu background color "jumping" during open animation.
-
Remove Flutter beta 2.13.0-0 as minimum supported version - now it's 3.0.
0.1.0-beta.3 #
- Added
PullDownButtonInheritedThemeas an additional way of defining globalPullDownButtonTheme#2.
0.1.0-beta.2 #
- Added shadow behind pull-down menu.
- Update pull-down menu show/hide animations to be more similar to native version.
PullDownMenuItemandSelectablePullDownMenuItem- replaceInkWellwithGestureDetector.- Improve pull-down menu positioning on screen.
- Fix pull-down animating from the top instead of bottom for
PullDownMenuPosition.above.
0.1.0-beta.1 #
- Initial release.
