4.0.0 release candidate 3
Pre-release-
NavigationView
mode fixes:- When top overflow menu is opened,
PaneItemHeader
no longer throws an unsupported error - When on top mode,
PaneItemHeader
is properly aligned to the other items. - Added
NavigationPaneThemeData.headerPadding
, which is applied toPaneItemHeader
on open, compact and minimal mode. It defaults to 10 pixels at the top - BREAKING
PaneItem.getPropertyFromTitle
is nowwidget.getProperty
:
Before:
getPropertyFromTitle<TextStyle>()
Now:
title.getProperty<TextStyle>()
This was changed because the properties of
PaneItemHeader
needed to be accessed, but the old version only supported to get the properties ofPaneItem.title
. It can be called on aText
,RichText
or in anIcon
widgetInheritedNavigationView
is now accessible on the top overflow menu- Added
NavigationPaneThemeData.selectedTopTextStyle
andNavigationPaneThemeData.unselectedTopTextStyle
, which is applied to the items on top mode - Fixed
content
focus on minimal mode - Updated default transitions for top mode:
HorizontalSlidePageTransition
- When top overflow menu is opened,
-
Fix incorrect translation of
TimePicker
in Traditional Chinese. -
Added
ScaffoldPage.resizeToAvoidBottomInset
(#444) -
Consider view padding for
NavigationAppBar
-
Scrollbar
updates (#356):- Correctly use
backgroundColor
to display the track color - Added
padding
andhoveringPadding
- Check if animation is disposed before using it (#446)
- Correctly use
-
Update
AutoSuggestBox
(#450):- Added
.enableKeyboardControls
. When true, items can be selected using the keyboard (#19) - Added
.sorter
, which lets you set a custom sort function for the suggestions.AutoSuggestBox.defaultItemSorter
is used by default - Overlay's height is now correctly calculated based on the screen size. It no longer overlaps the screen.
viewPadding
is also taken into consideration - Close the overlay if the textbox width is changes (#456)
.items
can be dynamically loaded (#387)- BREAKING
.items
is now aList<AutoSuggestBoxItem>
:
Before:
AutoSuggestBox( items: [ 'Cat', 'Dog', 'Bird', 'Horse', ], ... ),
Now:
AutoSuggestBox( items: [ 'Cat', 'Dog', 'Bird', 'Horse', ].map((animal) { return AutoSuggestBoxItem( value: animal, // this takes a String child: Text('Animal $animal'), // this takes a Widget. If null, value is displayed as a text onFocusChange: (focused) { // this is called when the item is focused using the keyboard arrow keys if (focused) debugPrint('Focused animal $animal'); }, onSelected: () { // this is called when the item is selected debugPrint('Selected animal $animal'); } ); }).toList(), ... )
- Added
-
Combobox
updates (#454): -
Correctly check if a locale is supported (#455)
Release candidate 2
- Remove whitespace on
ContentDialog
if title is omitted (#418) - Apply correct color to the Date and Time Pickers button when selected (#415, #417)
- Expose more useful properties to
AutoSuggestBox
(#419) - BREAKING
PopupContentSizeInfo
was renamed toContentSizeInfo
- Reworked
ListTile
(#422):- BREAKING Removed
TappableListTile
- Added support for single and multiple selection. Use
ListTile.selectable
(#409) - Added focus support
- Use the Win UI design
- BREAKING Removed
- Reviewed animation durations (#421)
- BREAKING Removed
.animationDuration
and.animationCurve
fromScrollbarThemeData
- Added
expandContractAnimationDuration
andcontractDelay
toScrollbarThemeData
- BREAKING Removed
NavigationPaneSize
constraints are now correctly applied when in open mode (#336)NavigationIndicator
can't be invisble anymore when animation is stale (#335)- Updated
TabView
:-
BREAKING Removed
TabView.bodies
. Now,Tab.body
is used.
BeforeTabView( tabs: [ Tab(text: Text('Tab 1')), Tab(text: Text('Tab 2')), ], bodies: [ Tab1Body(), Tab2Body(), ], ),
Now:
TabView( tabs: [ Tab( text: Text('Tab 1'), body: Tab1Body(), ), Tab( text: Text('Tab 2'), body: Tab2Body(), ), ], ),
-
Updated
TabView
tabs' constraints and padding -
Fixed tab width when
TabWidthBehavior
iscompact
-
FlutterLogo
is no longer the default tab Icon
-
DropDownButton
menu is now sized correctly according to the screen size- If there isn't enough space to display the menu on the preferred position,
Flyout
will display on the opposite position (#435)
Release candidate 1
-
Exposed private properties that makes it easier to create custom panes for
NavigationView
(#365):kCompactNavigationPaneWidth
kOpenNavigationPaneWidth
NavigationPane.changeTo
PaneItem.getPropertyFromTitle
-
PaneScrollConfiguration
is now applied to custom pane onNavigationView
-
Added
NavigationViewState.displayMode
. It results in the current display mode used by the view, including the automatic display mode (#360):// Define the key final key = GlobalKey<NavigationViewState>(); NavigationView( // pass the key to the view key: key, ..., ) // Get the current display mode. Note that, in order to find out the automatic display mode, // the widget must have been built at least once final PaneDisplayMode currentDisplayMode = key.currentState.displayMode;
-
The app bar action no longer overflow when minimal pane/compact overlay is open (#361)
-
Update
AutoSuggestBox
:- It now uses
Acrylic
, but it can be disabled usingDisableAcrylic
TextChangedReason.suggestionChoosen
is now called properly
- It now uses
-
Updated
TextBox
:TextBox
colors were updated to match the Win 11 design.- Fluent Text Selection Control now make use of
Acrylic
. Its items were also updated
-
Updated pickers (#406):
- If
selected
is null, a placeholder text is shown (#306) - Added new localization messages:
hour
,minute
,AM
,PM
,month
,day
andyear
. - BREAKING Removed
.hourPlaceholder
,.minutePlaceholder
,.amText
,.pmText
fromTimePicker
. It was replaced, respectivelly, by thehour
,minute
,AM
,PM
localization messages - On
DatePicker
, it's now possible to change the order of the fields:
DatePicker( ..., fieldOrder: [ DatePickerField.day, DatePickerField.month, DatePickerField.year, ], )
The fields are ordered based on the current locale by default
- On
DatePicker
, the day and year fields are now formatted based on the current locale (getDateOrderFromLocale
)
- If
-
Update
Slider
(#405):- Added
.thumbRadius
and.trackHeight
toSliderThemeData
- The active track now isn't taller than the inactive track
- Added
What's Changed
- Add italian (IT) localization by @patricknicolosi in #337
- add FlyoutOpenMode secondaryPress by @nidetuzi in #334
- Add macOS support to example project by @h3x4d3c1m4l in #339
- Add Dutch (nl) l10n support by @h3x4d3c1m4l in #338
- Fix incorrect documentation for waitDuration on Tooltip by @harysuryanto in #349
- Add Traditional Chinese (zh_Hant) localization by @rk0cc in #340
- Show menu button on minimal mode when display mode is auto by @bdlukaa in #350
- Fluent app review by @bdlukaa in #351
TextBox
review by @bdlukaa in #352- Add Persian by @xmine64 in #354
- Add
AutoSuggestBox.form
by @bdlukaa in #353 - UI updates by @bdlukaa in #355
- Retry add Korean (ko) from #267 by @rk0cc in #358
- add korean(ko) localization by @dubh3 in #267
- Date/Time pickers review by @bdlukaa in #357
- Color updates by @bdlukaa in #368
- Fix flutter.dev link by @WinXaito in #378
- Added Malay (ms) localizations to l10n by @jonsaw in #380
- Updated DropDownButton documentation by @tobiasht in #374
- Remove header space when null by @Alphamplyer in #359
- AutoSuggestBox updates by @bdlukaa in #389
- Polish translations by @madik7 in #388
- NavigationView updates by @bdlukaa in #390
- Add supported language in README.md by @rk0cc in #391
- TextBox review by @bdlukaa in #395
- [wip] Example app rework by @bdlukaa in #397
- README improvements by @phorcys420 in #400
- Example app update by @bdlukaa in #407
- add context menu by @nidetuzi in #398
- DateTimePicker update by @bdlukaa in #406
- Update Dutch translations by @h3x4d3c1m4l in #410
- Add date time localization in Chinese (both Simplified and Traditional) by @rk0cc in #416
- add japanese localization by @chari8 in #408
- Tiles update by @bdlukaa in #422
- Navigation view updates by @bdlukaa in #425
- Tabview rework by @bdlukaa in #427
- Flyouts size by @bdlukaa in #435
- Added Czech localization [cs] by @morning4coffe-dev in #439
- Top navigation update by @bdlukaa in #440
- Add Hungarian language by @RedyAu in #442
- Fix incorrect time display format in TimePicker in Chinese by @rk0cc in #445
- Padding by @bdlukaa in #447
- Use
trackColor
and add innerpadding
for Scrollbar by @bdlukaa in #356 - Rework AutoSuggestBox by @bdlukaa in #450
- Comboboxes by @bdlukaa in #454
- Close overlay when size changes by @bdlukaa in #458
- Public PaneItemKeys for support custom PaneItem by @ccl0326 in #453
- Correctly check for supported locales by @bdlukaa in #459
- Lazy loading asb by @bdlukaa in #460
New Contributors
- @patricknicolosi made their first contribution in #337
- @nidetuzi made their first contribution in #334
- @harysuryanto made their first contribution in #349
- @rk0cc made their first contribution in #340
- @xmine64 made their first contribution in #354
- @dubh3 made their first contribution in #267
- @jonsaw made their first contribution in #380
- @Alphamplyer made their first contribution in #359
- @madik7 made their first contribution in #388
- @phorcys420 made their first contribution in #400
- @chari8 made their first contribution in #408
- @morning4coffe-dev made their first contribution in #439
- @RedyAu made their first contribution in #442
- @ccl0326 made their first contribution in #453
Full Changelog: v3.12.0...v4.0.0-pre.3