Some paint bounds are in fact empty, e.g. at the start of a growing
animation if there's also a fade, the initial 0x0 box will also be
opacity:0, and might get a dedicated layer and PaintingContext.
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