1. Use the primary color brightness to determine the color of the status bar.
The status bar overlaps the toolbar, which has the primary color.
2. Use Roboto for text.
Also:
* Make PaginatedDataTable able to scroll itself horizontally.
* Make drop down buttons support having an explicit text style and icon
size given.
* Fix a bug with drop-down buttons asserting when opened partly
off-screen.
* Make sure to pop the drop-down button's route if the drop-down button
is discarded while the route is up.
* Remove extraneous padding on drop-down buttons. (Couldn't figure out
why it was there, and it breaks alignment when a drop-down is mixed
with other text.)
* Some docs improvements.
* Add Route.isActive
* Add a setState() method to ModalRoutes.
This fix isn't completely statisfying because it has a scaling limit. The ideal
fix would actually viewport the tiles in the grid. However, this fix is much
easier at the moment.
Fixes#4395
Assigning to `size` called our intrinsic sizing functions re-entrantly, which
is a destructive operation on TextPainter. Ideally we'd made that a
non-destructive operation, but in the meantime we can fix the tab fading issue
by grabbing the text size before assigning to `size`.
Fixes#4365
Previously we supplied individual parameters to the various drag and pan
callbacks. However, that approach isn't extensible because each new
parameter is a breaking change to the API.
This patch makes a one-time breaking change to the API to provide a
"details" object that we can extend over time as we need to expose more
information. The first planned extension is adding enough information to
accurately produce an overscroll glow on Android.
Previously the floating action button would disappear during transitions. Now
we animate properly. I've also centralized the animation in Scaffold instead of
spreading it across the Scaffold and the FloatingActionButton.
Fixes#1718
This introduces the key parts of a paginated data table, not including
the built-in pagination features.
* Provide more data for the data table demo, so there's data to page.
* Introduce a ChangeNotifier class which abstracts out
addListener/removeListener/notifyListeners. We might be able to use
this to simplify existing classes as well, though this patch doesn't
do that.
* Introduce DataTableSource, a delegate for getting data for data
tables. This will also be used by ScrollingDataTable in due course.
* Introduce PaginatedDataTable, a widget that wraps DataTable and only
shows N rows at a time, fed by a DataTableSource.
This patch starts using the mustCallSuper annotation for several of the key
lifecycle callbacks in the framework. I haven't added it to didUpdateConfig
because there are a large number of non-compliant overrides. We should discuss
whether we want to use it there.
We used to use this mechanism to paint scrollbars, but it's awkward. The
new approach to scrollbars is much cleaner. This mechanism has no other
clients, so we should remove it.