Material design icons are defined to work at specific sizes: 18, 24, 36, 48.
The current API doesn't reflect that and just takes a size int. If an invalid
size is chosen an error is printed to the console and no icon shows up.
Fixes#1816
- Change RouteArguments to pass the route's BuildContext rather than
the Navigator. This caused the bulk of the examples/ and .../test/
changes (those are mostly mechanical changes). It also meant I could
simplify Navigator.of().
- Make initState() actually get called when the State's Element is in
the tree, so you can use Foo.of() functions there. Added a test for
this also.
- Provide a RouteWidget so that routes have a position in the Widget
tree. The bulk of the route logic is still in a longer-lived Route
object for now.
- Make Route.setState() only rebuild the actual route, not the whole
navigator.
- Provided a Route.of().
- Provided a Route.writeState / Route.readState API that tries to
identify the clients by their runtimeType, their key, and their
ancestors keys, up to the nearest ancestor with a GlobalKey.
- Made scrollables hook into this API to track state. Added a test to
make sure this works.
- Fix the debug output of GestureDetector and the hashCode of
MixedViewport.
- Fixed ScrollableWidgetListState<T> to handle infinite lists.
Previous these callbacks were leaking the implementation detail that they were
triggered by taps. In a later patch, we're going to add a parameter to
GestureTapCallback that these callbacks won't have.
Related to #1807
We don't want to expose these from the gesture package. This patch moves
DoubleTapGestureRecognizer into tap.dart so we can make TapTracker and
TapGesture private to that file.
Instread of an explicit 'enabled' bool, this uses the presence of the
event handler to determine if a widget is enabled or not. This means
that if you've not passed a handler, your widget will be disabled, which
makes sense, since it wouldn't work anyway.
Adds this feature to checkbox, and ports raised button, flat button, and
radio buttons to this new model.
Adds a checkbox to card_collection that can be disabled.
Hide a (basically bogus) hint from the (soon to be disabled) strong hint
mode in the analyzer that this reveals.
We were assuming that the text extended from 0.0 to its max content width.
That's not correct for right-aligned text. Instead, we need to layout the text
again at the width we want it to occupy.
Also:
- give card_collection an option to turn on or off the edit widgets
- give card_collection an option to control text alignment (when not editing)
- give card_collection a "dump" option to aid debugging
- make the gesture detector report which gestures it is listening to
Don't use a timeout to cancel tap tracking. Track only one primary pointer
and ignore non-primary pointers. Update tests to reflect desired behaviors.
Fixes#1779, #1780, #1781.
Now TextStyle has a boolean "inherit" value, which controls whether null values
should use should inherit from the current default text style or whether they
should use their initial values.