The right fix here is to use a radial reaction, but for now we can just make
the gesture detector including the padding acround the icon in its hit test
region.
Fixes#575
This feature can be used to implement password fields, where the user doesn't
want the text displayed on screen. Currently all the characters are hidden.
Eventualy we'll want to show the most recent character for some timeout.
Fixes#636
Tabs scroll animation
The TabBar's selection is now represented by a TabBarSelection object which encapsulates both the previous and currently selected indices and the Performance used to animate the selection indicator.
Added a TabBarView class which displays a tab's contents. It uses a shared TabBarSelection to stay in sync with a TabBar. The TabBarView scrolls in sync with the TabBar when the selection changes. Eventually it will allow one to fling the selection forward or backwards.
Added a tabBar property to ToolBar. Typically the corresponding TabBarView will be the body of the toolbar's Scaffold.
Removed TabNavigatorView and TabNavigator.
Added a widget gallery tabs demo page. Removed the old tabs demo.
The TabBar's selection is now represented by a TabBarSelection object which encapsulates both the previous and currently selected indices and the Performance used to animate the selection indicator.
Added a TabBarView class which displays a tab's contents. It uses a shared TabBarSelection to stay in sync with a TabBar. The TabBarView scrolls in sync with the TabBar when the selection changes. Eventually it will allow one to fling the selection forward or backwards.
Added a tabBar property to ToolBar. Typically the corresponding TabBarView will be the body of the toolbar's Scaffold.
Removed TabNavigatorView and TabNavigator.
Added a widget gallery tabs demo page. Removed the old tabs demo.
1) Moved basic utility code into base/ directory to make it clear which code
doesn't depend on Flutter-specific knowldge.
2) Move the CommandRunner subclasses into a runner/ directory because these
aren't commands themselves.
Add an --upgrade flag to the dev/update_packages.dart flag which runs
'pub upgrade' instead of 'pub get'. Tell people to use this when using
'flutter analyze' since 'pub get' doesn't have the same guarantee of
getting everything in sync.
- These controls now have proper radial reactions.
- You can drag the switch.
- The radio button animates properly.
- There's a demo in the Material Gallery
* Split didPush() into didPush() and install(), so that we can install
the overlays without triggering the push logic. This will be used in a
subsequent patch to implement route replacement.
* Split didPop() into didPop() and dispose(), so that we can remove
overlays without triggering the pop logic. Also for a subsequent patch
that implements replacement.
* Clean up _navigator on the routes when the Navigator itself is
disposed.
* Drop the forwarding logic on willPushNext() -- now didPushNext() --
and didPopNext(), since we no longer have StateRoutes to get in the
way.
* Implement isCurrent more broadly and without having to keep track of
state.
* Provide some toString()s on NamedRouteSettings and ModalRoutes.
* Make OverlayState.initState() use the insertAl functionality.
* Make OverlayRoute.builders abstract since that way you'll catch when
you forget to do it. If you don't want overlays, don't inherit from
this class.
* Made handleStatusChanged() on TransitionRoute public so that it can be
overridden by subclasses.