185 Commits

Author SHA1 Message Date
Hans Muller
dac80aac89 Make min/max fling velocity and min fling distance ScrollPhysics properties (#8928) 2017-03-21 11:00:04 -07:00
Adam Barth
97816e1571 Rename Dismissable to Dismissible (#8919)
The latter is the proper spelling.

Fixes #8883
2017-03-20 16:17:08 -07:00
Adam Barth
c95e73418f Adds support for custom fonts for icons (#8880)
This update adds support for custom fonts in icons. As an example, it
can be used with the icon-set from https://materialdesignicons.com

Thanks to @vlidholt for the original patch.

Fixes #4494
Fixes #3199
2017-03-18 14:09:51 -07:00
Hans Muller
031e042eee Now each Colors.foo constant is-a Color and a color swatch (#8833) 2017-03-17 15:24:54 -07:00
Mikkel Nygaard Ravn
dce4bf8599 Remove old platform messaging API (#8837)
Breaking change: removed deprecated methods of PlatformMessages, leaving only binary messaging there. All other use of platform communication now goes through PlatformMessageChannel and PlatformMethodChannels. Retained use of String and JSON codecs for now.

Companion engine PR: flutter/engine#3482
2017-03-17 11:56:50 +01:00
Alexandre Ardhuin
2166ea5b7f apply partially the upcoming unnecessary_lambdas (#8810) 2017-03-15 23:09:58 +01:00
Adam Barth
fd51093146 Rename SliverPadding.child to SliverPadding.sliver (#8757)
The new name follows the pattern of the name suggesting which layout
protocol the parent expects the child to speak.

Fixes #8664
2017-03-14 14:07:13 -07:00
Hans Muller
859da8d28b Rename ListItem to ListTile, document ListTile fixed height geometry (#8769) 2017-03-14 11:46:30 -07:00
Adam Barth
6b75ac3fde Rename dependenciesChanged to didChangeDependencies (#8767)
The new name matches the style guide. (The old name was just old and predated
the style guide.)

Fixes #8000
2017-03-14 11:21:53 -07:00
Ian Hickson
8eac6cd0da Test API improvements: pumpAndSettle, autogenerate pointer IDs (#8751) 2017-03-13 16:27:15 -07:00
Hans Muller
8a36588627 Fixed scrollable TabBar flashing (#8741) 2017-03-13 14:07:47 -07:00
Alexandre Ardhuin
6a2148dde9 prefer const constructors (#8594)
* prefer const constructors

* fix double throw
2017-03-08 14:58:14 -08:00
Chris Bracken
46291903e0 Declare locals final where not reassigned (tests) (#8566) 2017-03-03 17:43:22 -08:00
Adam Barth
fcf6740851 Factor BackButton out of AppBar (#8491)
This widget is useful on its own. This patch factors it out of AppBar so
folks can use it separately.

Fixes #8489
2017-03-01 10:45:44 -08:00
Chris Bracken
297a0341a6 Update scroll tests to use pumpUntilNoTransientCallbacks (#8495)
This ensures that both timer/microtask queues are cleared out rather
than assuming that all work is completed in a specified amount of time.
2017-03-01 10:09:29 -08:00
Adam Barth
932f7cef0c Scaffold shouldn't assert with large bottom padding (#8415)
Fixes #8413
2017-02-25 23:48:23 -08:00
Adam Barth
f20c3d1032 Add a color argument to Container. (#8396)
It's common to just want a simple colored box. Simple thing should be simple,
so this patch adds a convenience argument to Continer for creating a box
decoration that is just a color.

Fixes #5555
2017-02-24 12:25:48 -08:00
Adam Barth
76394630ac Add barrierDismissable argument to showDialog (#8397)
In some situations, dialogs don't want the barrier to be dismissable.

Fixes #8354
2017-02-24 12:25:33 -08:00
Chris Bracken
064a63e932 Add haptic feedback tests for DatePicker (#8376) 2017-02-23 10:53:40 -08:00
Chris Bracken
ebaffbdd07 Correct spelling of 'Interval' in var name (#8375) 2017-02-23 10:53:29 -08:00
Chris Bracken
093afe0255 Haptic feedback on time changes in TimePicker (#8348)
Trigger a vibration on hour/minute changes, with an upper bound on
number of feedback events per second.

Note: state changes are expected to trigger haptic feedback on Android,
but not on iOS time pickers.
2017-02-22 19:11:44 -08:00
Hans Muller
3a0b83b1b6 Added support for a pinned floating SliverAppBar (#8345) 2017-02-22 16:19:36 -08:00
xster
34a6e48ac8 16 dp title margin when there’s no leading button (#8344) 2017-02-22 14:53:53 -08:00
xster
72fa281f12 Conform appbar buttons to Material (#8263)
Extend app bar left to edge, right to 4dp
Make leading button square and 56dp
Keep title at 72dp on Android according to Material
Renamed IconButton.size to .iconSize
IconButton minimum size expands to 48dp (#8264)
IconButton default constraints to 48. Can still stretch to infinity but can't be smaller than 48.
Ink splash for IconButton 40% bigger than the touch target to match Material
Tests
2017-02-22 11:32:22 -08:00
Hans Muller
52c7a123fc Fixed "AppBar actions are vertically centered" test (#8333) 2017-02-22 11:06:31 -08:00
Adam Barth
0e8b6aab46 ListView shouldn't be scrollable when there isn't any scroll extent (#8318)
Previously, a ListView would always accept user input, even if it wasn't
actually scrollable. Now, by default, we don't accept user input if there's no
scroll range. You can override this behavior using the ScrollPhysics.

Fixes #8276
Fixes #8278
Fixes #8271
2017-02-21 16:54:23 -08:00
Adam Barth
6d4333410b Don't try to pop the initial route (#8307)
This functionality got lots somehow in the migration to maybePop.

Fixes #8258
2017-02-21 12:57:32 -08:00
Adam Barth
862fc05139 Call onPageChanged at the halfway mark (#8302)
Previously we called onPageChanged when the scroll ended, but that is too late.
Now we call onPageChanged when we cross the halfway mark, which, for example,
makes the tab indicator update earlier.

Fixes #8265
2017-02-21 12:12:34 -08:00
Adam Barth
e0b12ca17e Two becomes one (#8253)
Rename all the "2" classes related to scrolling to remove the "2". Now that the
old scrolling code is gone, we don't need to use the suffix.
2017-02-17 14:06:15 -08:00
Adam Barth
90574b0478 Remove Scrollable1 (#8225)
All the clients have migrated to Scrollable2.
2017-02-16 16:41:24 -08:00
Ian Hickson
659bc2263d Port RefreshIndicator to slivers (#8218)
This does not attempt to correct any logic, only to port it as written.

The API changed a bit to take into account what is newly available and
no longer available in the new world.
2017-02-16 14:54:34 -08:00
Adam Barth
464a8e7cde Formally deprecate Block and ScrollableViewport (#8166)
The replacements are ListView and SingleChildScrollView, respectively.
2017-02-14 21:03:55 -08:00
Adam Barth
14743566ca Migrate Dropdown to ScrollConfiguration2 (#8135)
Also use the word "dropdown" consistently over "drop down".
2017-02-14 14:06:59 -08:00
Adam Barth
fd30f63161 Replace Scrollbar with Scrollbar2 (#8133) 2017-02-14 08:55:16 -08:00
Adam Barth
9df8b7211b Deprecate old list-based scrolling widgets (#8120)
- MaterialList
 - ScrollableList
 - ScrollableLazyList
 - LazyBlock

All of these widgets can be replaced by ListView now.
2017-02-13 17:45:29 -08:00
Ian Hickson
c67575703c Improve testing of the RefreshIndicator widget. (#8111) 2017-02-13 16:31:20 -08:00
Adam Barth
c40b92b910 Material should unconditionally repaint on LayoutChangedNotification (#8107)
When a ListView scrolls, it generates a LayoutChangedNotification, which was
causing Material to repaint unconditionally. That's not necessary if there are
no ink effects that need to be moved. This patch skips the repaint in that
case.

Fixes #7937
2017-02-13 15:10:05 -08:00
Alexandre Ardhuin
00cbdb3800 prefer const constructor (#8031) 2017-02-09 15:18:49 -08:00
Alexandre Ardhuin
d1d1c50cbe prefer const constructors (#8024) 2017-02-09 00:57:38 -08:00
Ian Hickson
83a4cf269f Port AppBar to Scrollable2 (#7996)
Move the back button and drawer opening logic into the app bar.

Move the tap-status-bar-to-scroll-to-top logic to using
ScrollControllers. Provide a PrimaryScrollController and a `primary`
flag on scroll views.

Make it possible to track when a route becomes or stops being poppable.
2017-02-08 18:16:19 -08:00
Adam Barth
4e95701541 Switch TabBarView to PageView (#7982)
Tabs are now fully driven by slivers.
2017-02-08 14:55:18 -08:00
Chris Bracken
ecdf99c326 Revert "Make the text shorter so that it doesn't overflow (#7970)" (#7984)
This reverts commit ea21d0c542d05a7738a8357db48fe9490c25c621 which
didn't resolve the pagination control overflow issue. Commit
7425940d5be153430f98aa5b0735545f4a4fc3e5 replaces this as an alternate
workaround. Once flutter/flutter#7980 is resolved, we should revert
7425940d5be153430f98aa5b0735545f4a4fc3e5 and scroll instead.
2017-02-08 13:10:01 -08:00
Chris Bracken
7425940d5b Prevent overflow of pagination bar with Ahem font (#7977)
Once engine commit d49a6b110bced49fa318b0dd45bf409218df9ee5 rolls into
Flutter rolls in, we get correct font metrics for the Ahem font, used in
headless sky_shell test runs. Ahem has much wider glyphs than the system
font, which causes the PaginatedDataTable bottom bar to be much wider
and overflow the previous and next controls offscreen.

This commit reduces the number of rows such that the prev/next controls
are still just barely onscreen.
2017-02-08 12:29:15 -08:00
Ian Hickson
ea21d0c542 Make the text shorter so that it doesn't overflow (#7970)
The Ahem font has a much wider average text width than most fonts.
2017-02-08 10:44:54 -08:00
Adam Barth
2eb4f2c37a Add PageController (#7948)
This patch improves PageView to the point where we can use it in the date
picker. Specifically, you now get onPageChanged notifications and you can
control which page is visible using a PageController.
2017-02-07 15:51:41 -08:00
Hans Muller
c08bac8335 Form needs to clean up its scopedWillPopCallback (#7936) 2017-02-07 14:49:15 -08:00
Adam Barth
079db95b80 Switch DatePicker to SliverGrid (#7890)
After this patch, the old grid code is not used in the framework.
2017-02-05 22:01:16 -08:00
Ian Hickson
332a23030b Rename and refactor ScrollView hierarchy (#7865)
This prepares us for a CustomScrollView that takes slivers.
2017-02-03 16:05:43 -08:00
xster
475e7ce97d Optional general date predicate mechanism (#7858) 2017-02-03 14:27:38 -08:00
Adam Barth
3231465769 Add PageView (#7809)
This widget is a start towards replacing PageableList. There are still a number
of features that we'll need to add before this widget can replace PageableList.
2017-02-02 16:16:20 -08:00