- Fixed use of wrong data type on PlatformApp setting the darkTheme property (thanks SileyGames)
- Adds all the flutter 3.19 additional properties for platform widgets
- Updated cupertino_icons to version 1.0.8
- Added deprecation notice on switching between material 2 and material 3. Calling these has no effect and the method calls will be removed in a furture version
- Platform date picker modalColor uses backgroundColor (thanks fdwl)
- Added exit_to_app icon to PlatformIcons (thanks Kiruel)
- Added PlatformScrollbar (thanks bookshiyi)
- BREAKING CHANGE - Material 3 uses camel case rather than ALL CAPS for buttons. If you use
PlatformText
on Android the default will now be camel case, which is the equavalent to just usingText
. It is recommended to move away fromPlatformText
nad use flutterText
widget as this will become deprecated and then removed in future versions. If you need to keep existing ALL CAPS behaviour, setmatchMaterialCaseForPlatformText
tofalse
.PlatformProvider(settings: PlatformSettingsData(matchMaterialCaseForPlatformText: false))
.
- Adds all the flutter 3.16 additional properties for platform widgets
- Upgrade to flutter version 3.16.0 and sets the Dart min value to 3.2
- Fixed
PlatformTextField
that had a breaking argument due to Flutter 3.16 (thanks kishormainali)
- Upgrade to flutter version 3.13.0 and sets the Dart min value to 3.1
- Adds all the flutter 3.13 additional properties for platform widgets
- Upgrade to flutter version 3.10.0 and sets the Dart min value to 3.0
- Adds all the flutter 3.10 additional properties for platform widgets
- Remove deprecated properties.
- PlatformSearchBar added (thanks bookshiyi) !! Note the material version of the SearchBar is only a material3 widget !!
- Added to
PlatformTheme
the ability to switch between material2 and material3 - Fixed the
PlatformApp.router
properties as they were not setting the super props correctly (thanks nikeorever) - Added NavigationBar to
PlatformTabScaffold
when the theme is set to material3Theme.of(context).useMaterial3
- Added
PlatformRadio
(thanks bookshiyi) - Added
PlatformCheckbox
(thanks bookshiyi)
- Fix material dialog action button padding. Will use default padding
- Fix for PlatformApp not using the correct theme data in dark mode
- Added missing parameters (thanks nikeorever)
- Removed debug print statement
- Added
WidgetsBindingObserver
toPlatformTheme
so the brightness changes can be reflected in the app whn brought from the background.
- Added PlatformTheme which allows to set the cupertino and material dark and light themes in one place. The PlatformApp will automatically get the right Theme or CupertinoTheme based on the ThemeMode.
- PlatformTheme can be set the ThemeMode, darl, light or system and will rerender the PlatformApp with the correct mode.
- PlatformTheme provides a callback to when the themeMode changes in order the application to save the state. This library will not store the current state of the themeMode
- Fixed incorrectly removed code on
PlatformText
from v3.1.0. for material it will uppercase the text while leaving the cupertino version of the text the same. If you want the same casing between both material and cupertino then simply useText
- Added MediaQuery wrap for CupertinoNavigationBar title as it is mentioned in this flutter issue: flutter/flutter#42759 (comment). Not added for the CupertinoNavigationBarBackButton due to this issue: flutter/flutter#89888
- Control the MediaQuery wrap via PlatformProvider settings wrapCupertinoAppBarMiddleWithMediaQuery which is set to true by default
- Added PlatformListTile (thanks patricknicolosi)
- Added extra properties to the widgets that have been added to flutter 3.7
toolbarOptions
onPlatformTextFormField
andPlatformTextField
is deprecated by flutter. Switch to contextMenuBuilder.toolbarOptions
property will be removed from this library in a future release.- Min dart version set to v2.19
- Fixed issue with
PlatformAlertDialog
where it would not work if the dialog has a material widget. (thanks josxha)
- Fixed issue with
showPlatformDialog
. (thanks tmaihoff)
Version update
- Added extra properties to the widgets that have been added to flutter
- Added material and cupertino options to the
showPlatformDialog
function. materialUseSafeArea
andmaterialBarrierColor
are now deprecated onshowPlatformDialog
.
- Added missing padding on the
PlatformIconButton
- Added routerConfig into
PlatformApp
. (thanks Yoann-TYT) - Added config iosUseZeroPaddingForAppbarPlatformIcon setting so it is no longer needed to set EdgeInserts.zero on the PlatformIcon when added to the PlatformAppBar for ios
- Added PopupMenuDivider as an option for Material popup menus. Simply add
withDivider: true,
to theMaterialPopupMenuOptionData
and it will add a divider above the menu option specified - Material ElevatedButton and TextButton stylilng uses now
background
color instead ofthe deprecatedprimary
color property. - Updated Readme so that most of the information can be viewed from the wiki. https://github.com/stryder-dev/flutter_platform_widgets/wiki
- Compatible with Flutter 3.0 and above.
- Added new fields to platform widgets.
- Removed deprecated
PlatformButton
since the underlying materialFlatButton
andRaisedButton
are being removed in flutter ^3.1.0 - Removed required constraint from the
label
field on thePopupMenuOption
class. (thanks AkshatBaranwal) - Removed deprecated
brightness
field fromMaterialAppBarData
as it is deprecated in the framework. Use systemOverlayStyle instead - Removed deprecated
textTheme
field fromMaterialAppBarData
as it is deprecated in the framework. Use toolbarTextStyle and titleTextStyle instead - Removed deprecated
backwardsCompatibility
field fromMaterialAppBarData
as it is deprecated in the framework.
- Added extra fields from Flutter 2.10.0
- Fixed use of context for
PlatformPopupMenu
- Added
doneLabel
andcancelLabel
toCupertinoDatePickerData
- Added
color
property toPlatformTextButton
andPlatformElevatedButton
- Added cloud download and upload platform icons. (thanks rledisez)
- Added a bit more of an example of how to implement a custom cupertino date picker.
- Added
PlatformPopupMenu
to display a materialPopupMenuButton
or cupertinoCupertinoActionSheet
- Added
showPlatformDatePicker
to display a material date picker viashowDatePicker
or a custom cupertino date tumbler viashowCupertinoModalPopup
. For cupertino you can replace the default panel to render your own by implementing the widget builder argumentcupertinoContentBuilder
.
- Added extra fields from Flutter 2.5
- Added deprecation for
PlatformButton
. Please usePlatformElevatedButton
orPlatformTextButton
- Added deprecation on fields that are deprecated in Flutter widgets
- Removed deprecated platform icons
- Fixes issue where
PlatformTextFormField
could not set expands to true and maxLines to null. - Add new icons (thanks hanskokx)
PlatformDialogAction
by default usesTextButton
rather thanFlatButton
. If you wish to still useFlatButton
setlegacyMaterialDialogActionButtons
onPlatformSettingsData
which is set onPlatformProvider
.
- Added extra fields from Flutter 2.2
- Removed deprecated field maxLengthEnforced from PlatformTextField. use maxLengthEnforcement instead
- Add
platformPage
to use as part of Navigator's 2.0 implementation - Add
makeCupertinoDecorationNull
toPlatformtextField
so cupertino's decoration field can be set to null rather than any default style. the default kDefaultRoundedBorderDecoration is now not private - Fix issue where
PlatformTabController
was not notifying when index changed.
- Moved Material wrapper for cupertino under CupertinoScaffold and CuertinoTabScaffold so Material widgets can render for iOS when using PlatformApp. Need to have
settings: PlatformSettingsData(iosUsesMaterialWidgets: true)
on thePlatformProvider
to enable. This may now render splash effect for Material widgets which would not occurred before. If this change is not needed then usesettings: PlatformSettingsData(legacyIosUsesMaterialWidgets: true)
- This setting can be disabled on a per PlatformScaffold basis for Cupertino. See noMaterialParent on
PlatformAppBar
cupertino data property - Added more PlatformIcons, dehaze, error, help and helpOutline (thanks mlava)
- Added
platformThemeData
to get access to the platform specificThemeData
more easily
- Added context.platformIcon and additional remove platform icons (thanks vincevargadev)
- Removed unmapped cupertino icons that show up as a 'question mark'
- Added
PlatformTextFormField
- Added PlatformElevatedButton and PlatformTextButton which change to Flutter 2.0 Material elevated and text buttons. Cupertino buttons are unchanged, although now by default match Text > Text and Elevated > Filled
- Updated the Example project
- Start of documentation (github pages)
- Added hintText to PlatformTextField to easier set the hint of the field. Thanks slimyjimmy for the suggestion
- Fixed issue with showPlatformDialog that did not show the
BarrierColor
for the material dialog.
- Full null safety support.
- fix for
showPlatformDialog
barrierDismissible - export
PlatformTarget
- Update to include additional params
- Remove a deprecated field
- Adds
materialBuilder
andcupertinoBuilder
as alternatives tomaterial
andcupertino
onPlatformTabScaffold
so that the widgets can change properties on tab index change. see example/lib/tabbed/dynamicTabbedPage.dart. - Adds new platform icons, thumb up and down and fix the star icon (thanks DFelten)
- Added
PlatformApp.router
to support Router 2.0
- fix export of MaterialModalSheetData and CupertinoModalSheetData (thanks in74mz)
- Used label instead of text for BottomNavigationBarItem in examples
- Removed deprecated android and ios parameters. Use material or cupertino instead
- Added widget parameters introduced in flutter version 1.22.0
- Added const to icons for treeshaking (thanks sck-v)
- Added contributors to ReadMe
- Upgrade to flutter version v1.20
- added
PlatformWidgetBuilder
which allows to use a platform specific as a parent widget for a child that is the same for both platforms. - Forced deprecation on widget arguments to make them more obvious
- Added more PlatformIcons (thanks mlava)
- added
cupertinoTabChildBuilder
toPlartformScaffold
in order to build cupertino tabs when they are viewed. (thanks AlexIver)
- Changed the enhancement of widgets to use an argument matching the style rather than platform.
android: (_){}
becomesmaterial: (_, __){}
andios: (_){}
becomescupertino: (_, __){}
. The second argument of the callback is nowPlatformTarget
which will allow a decision (if required) to return a different data object based on the platform. PlatformTarget
is similar to the flutterTargetPlatform
with the addition ofweb
.- The use of
android: (_){}
andios: (_){}
is now deprecated and will be removed in a future release. showPlatformModalSheet
andshowPlatformDialog
has deprecated arguments
- Added configurable platform style which allows each target platform to be either Material or Cupertino
- Added more platform icons (thanks mlava)
- Update widget arguments to match latest flutter widgets.
- Fixed issue with CupertinoPageScaffoldData (thanks josxha)
- Removed deprecated fields (thanks fredgrott)
- Added setIndex to PlatformTabScaffold (thanks GillesMontyne)
- Added more PlatformIcons (thanks mhaid)
- Added CupertinoFilledButton (thanks eyecreate)
- Fixed
PlatformButton
for androidFlatButton
to directly use color, disabledColor and padding properties that were missing
- Fix for
PlatformTextField
not allowing formaxLines
to be null which is required whenexpands
is true to enable multiline. (Thanks bangfalse)
- Fix for
PlatformTabScaffold
to use androidTabs properly. (Thanks abahnj)
- Update widget arguments to match latest flutter widgets.
- Fix for PlatformTabScaffold that would not pickup the right index or set a default value.
- Increased SDK verson to be ">=2.6.0 <3.0.0"
- Added PlatformIcons where Material and Cupertino icons are picked based on the platform
- Added PlatformTabScaffold to offer a simplier and more flexible platform tabbed page
- Updated PlatformTextField for Cupertino to support dark mode
- Removed Material from Cupertino Scaffold as it interfers with ios dark mode. If Material widgets are used on ios then this can be turned back on or add the Material widget to places that have it. Set iosUsesMaterialWidgets = true to retain behvour on the settings object passed in as an argument to
PlatformProvider
. - PlaformSlider for Cupertino uses Colors instead of CupertinoColors to match the underlying flutter widget
- Fixes the breaking change from flutter which causes the error:
The getter 'fullObstruction' isn't defined for the class 'ObstructingPreferredSizeWidget'.
- Updated all widgets compatible with Flutter v1.12.13+hotfix.5
- Fixed unselectedFontSize to be a double and not a bool
- Added a
Builder
to allow for children ofPlatformProvider
to get the Theme change on the builder argument.
- Switching of Platform based off theme. (thanks stefanrusek)
- From now on the only way to dynamically change the target platform is to use
PlatformProvider
PlatformIconButton
can now take a Widget instead of it having to be an Icon (thanks GillesMontyne)
- Updated all widgets compatible with Flutter v 1.9.1
- Added showPlatformModalSheet
- Added check for web to allow web to compile (thanks cbenhagen)
- Added PlatformProvider so that swicthing platforms can rebuild the tree
- Added Material Flat button option for PlatformButton (see Readme)
- Fixed example issue
- Added PlatformProvider so that swicthing platforms can rebuild the tree
- Due to pub.dev supporting only Stable channel, version 0.11.5 is not supported.
- Updated all widgets compatible with Flutter v 1.6.3
- Added Material Flat button option for PlatformButton (see Readme)
- Fixed example issue
- Due to pub.dev supporting only Stable channel, version 0.11.0 is not supported.
- Fix for PlatformIconButton and added field. Thanks ericmartineau
- Updated all widgets compatible with Flutter v1.5.4-hotfix.2
- Added other checks for platforms.
- Material = Android, Fuchsia, Windows, Linux
- Cupertino = iOS, MacOS
- Updated all widgets compatible with Flutter v 1.1.8
- Added CupertnoThemeData to PlatformApp to style iOS apps.
- If using PlatformScaffold on each page, no need to define Material widget when using Material widgets on the page
- Added PlatformSlider
- Fix for PlatformTextField keyboardType. Thanks furkantektas
- Added iosContentBottomPadding on PlatformScaffold to prevent the content going behind the navBar
- Optional android / ios builder for PlatformWidget. No need to specify both if only one if required.
- Updated README
- Added PlatformTextField
- Updated the minSDK version
- Moved example.dart up a level to appear on pubspec example page
- Added PlatformSwitch
- Added PlatformApp. Thanks cmengler
- Added showPlatformDialog which is required to be used if PlatformApp is used and you need to show dialogs
- Added platformPageRoute function to pick the right default route for the platform
- Redone the way PlaformScaffold renders Cupertino. Requires fluttter version 0.11+
- Added iosContentPadding to PlatformScaffold for iOS to push content down past the navigation (app) bar
- Caught up with latest flutter verison (0.9.4) adding extra widget properties.
- Fixed herotag issue when setting transitionBetweenRoutes to true
- Added transitionBetweenRoutes and heroTag as attributes to CupertinoNavigationBarData
- Fixed issue with AppBar padding
- Updated environment to support Dart 2
- Removed hasNotch to be compatible with the flutter develop branch
- Added PlatformCircularProgressIndicator
- Bug fixes
- Inital Release of Platform widgets