Previously they tried to compute an integer target end index, but
integers can't represent infinity. Now we use null to represent
infinity.
Also, fix some similar issues with grids.
Fixes#8398
The recommended minimum tappable area is actually 44.0pt according to the [iOS Human Interface Guidline](https://developer.apple.com/ios/human-interface-guidelines/visual-design/layout/).
> Provide ample spacing for interactive elements. Try to maintain a minimum tappable area of 44pt x 44pt for all controls.
I've also added an override to allow for flexibility in situations where designers get naughty and have a desire to make everything super small.
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#4494Fixes#3199
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
This change make it easier to track the position of the scroll view without
having to worry about the position object changing out from under the
controller.
* clamp the pixels used in the page calculation to be within min + max extents to avoid pages outside of the range of children
* add test to check onPageChanged not fired on overscroll
Previously, we would create a simulation whose initial velocity did not match
the requested parameters. We now compute the parameters for the simulation in a
way that ensures all the math works out.
Fixes#8255
* Improved defaults for scroll view primary-ness
* Vertical scroll views default to primary:true.
* Horizontal scroll views default to primary:false.
* If a scroll view is primary and it got a non-null inherited primary
scroll controller, it introduces a primary scroll controller inherited
with a value of null for its descendants.
ScrollController now multiplexes writes to all registered positions;
reads of position continue to assert that only one position is
registered. Reads still require a single position.
* Add cupertino to gallery and add CupertinoButto
* Use single quotes
* Add disabled state
* Some review notes
* Make button animation more responsive and tweak timing
* Renamed things Cupertino
* Button with background, move cupertino demos, move material demos
* Move 2 level list too
* Refactor various demo route names
* Some review notes
* More reviews and add test
* Linter as
* Move private constant up