-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Description
This issue represented material library work we'd planned to undertake from July-September 2019. It has been replaced by a new similar issue that covers October-December 2019. If you're interested in voting or commenting on our latest plans please review #43035.
During the period covered by this issue we accomplished a subset of what we'd hoped to do. Here's a summary; see below for details.
- Support for dark mode per the latest Material spec.
- New ToggleButtons widget.
- Exposed Android 10's system "gesture insets".
Over the same three months we landed 113 pull requests and closed 146 issues. Most of the issues, and some of the pull requests were provided by developers outside of the Flutter team within Google. We thank you-all for that!
Features for which the work is now relatively complete are marked with ✔️.
There's a similar list of Cupertino library features, see #35026.
✔️ Dark Mode
Existing support to be updated per the latest Material spec.
- Updated ColorScheme.dark(), #36106.
- Material widget's color now changes per elevation in dark mode, #35560.
- SnackBar dark mode updates, #37038.
- Added ThemeData.from(): Construct a Theme from a ColorScheme, #37355.
- Added MaterialApp.themeMode to sync the app with the system dark mode setting, #35499, #36399.
Updated Date Picker
An improved UI that handles small screens better and supports selecting date intervals.
- Improve small screen layout, #31514.
- Increase TimePicker touch targets, #32053.
- TimePicker moves to minute mode after hour selection, #31566.
Search Bar
Support for "persistent search" per the Material spec. There's an existing issue for this.
✔️ Toggle Button
Also called a "Segmented Control". Defined in the Material spec.
- Added ToggleButtons widget, #34599.
- Added ToggleButtons.textStyle, #38813.
- ToggleButtons testing and docs, #38898, #38635.
- - Toggle button minimum size constraints, #39857.
Reorderable List Animation
Improved interaction drag and drop animation, support for animating insert and remove.
Android Q Navigation
Android Q can reserve swipe gestures that are initiated from the edges of the screen for system navigation. Apps will need to be aware of the system's "gesture insets" and the Scaffold drawer will have to accommodate them.
An overview of the work planned for Android Q (now "Android 10") is here: Android 10 / Android Q Issues and Features.
- Add MediaQuery.systemGestureInsets to support Android Q, #37416.
- (Engine) systemGestureInsets, engine/10413.
- (Engine) systemGestureExclusionRects, engine/11441, engine/11451.





