This patch improves the Post and Shrine transitions by making the AppBar
into a Hero and changing the default MaterialPageTransition. Now the
AppBar transitions smoothly between screens and the
MaterialPageTransition doesn't involve a fade effect.
Also, rejigger the bounds of the image header in Pesto to avoid the
"pop" at the end of the animation by laying out the image header at its
final visual size instead of relying on occlusion to size the image
header.
Fixes#5202Fixes#5204
Previously we were resizing a paragraph of text during the animation. Now we
animate the text and the image separately. Also, add a default hero tag for
FloatingActionButton so that it animates as part of the hero transition as
well.
* Added custom radii to RRect.
This is the first commit towads an implementation of
MergeableMaterial. It adds custom radii to RRect.
* Renamed RRect constructors and added BorderRadius.
BorderRadius is a class similar to EdgeInsets that lets you define
all rounded corners of a rounded rectangle easily.
This patch includes a number of improvements:
* Material page routes now put a repaint boundary inside their transition so
they don't repaint during the transition.
* Heroes that are on a quest now get a repaint boundary so we repaint them
individually.
* I've hoisted the transparent material for the product items up in the widget
tree, which doesn't affect performance but makes the ink splashes reach the
edge of the product cards.
* I've changed the repaint rainbow visualization to make it easier to see
what's going on.
Removed old Stack layout and added a simple-to-extend interface for the
new drawer header. Also added a specialized UserAccountsDrawerHeader
consistent with Material Design guidelines.
Rather than requiring the developer to specify a full Decoration, we now
just take an ImageProvider for the thumb image. Also, fix
ImageFit.scaleDown to actually work.
Fixes#4571Fixes#4673
* Change how navigator prevents redundant operations
Instead of requiring transactions, we now cancel all active pointers that are
interacting with the navigator and absorb future pointers until we get a chance
to build. This approach isn't perfect (e.g., events that trigger off the
cancelled pointers could still interact with the navigator), but it should be
better than the current transaction-based approach.
Fixes#4716
* Remove openTransaction
* test
* fixup