Changed the ExpandIcon constructor to take a default expansion state.
If the widget gets rebuilt with a different expansion value, the
animation will trigger but the callback will not.
The type of rejects should be List<dynamic> to match the type that
DragTarget expects. Since the function doesn't use rejects anyway,
there's no need to tighten the type.
Fixes one of the strong_mode_static_type_error errors that is currently
being ignored.
Using IconButton inside of a bigger Material before would result
in having a hit box as large as the whole Material. This commit
constrains the size of the hit box and splashes to the default
diameter of a splash.
Instead of a PNG, the Flutter gallery widget is now drawn in code.
There's now a FlutterLogoDecoration class that paints the flutter logo
anywhere you can use a Decoration (e.g. AnimatedContainer).
There's now a FlutterLogo class that honors the IconTheme.
The About dialog box API now takes a Widget for the applicationIcon,
instead of an ImageProvider. It uses IconTheme to make the icon the
right size instead of using an Image widget.
Add padding, duration, and curve properties to the DrawerHeader.
Make the child of a DrawerHeader optional.
Clean up UserAccuntsDrawerHeader a bit.
Add some useful properties and methods to EdgeInsets.
Add some debug logic to RenderDecoratedBox to catch unpaired
save/restore calls when possible.
Make GestureDetector fill its parent if it has no children. Fixes
https://github.com/flutter/flutter/issues/5380
Changes in this patch:
- iOS now uses a different scrollDrag constant than Android.
- ScrollConfigurationDelegate now knows about target platforms.
- ScrollBehaviors now know about target platforms.
- RawInputLine now has to be told what platform it's targetting.
- PageableList now has a concept of target platform.
- make debugPrintStack filter its stack.
- move debugPrintStack to `assertions.dart`.
- add support for limiting the number of frames to debugPrintStack.
- make defaultTargetPlatform default to android in test environments.
- remove OverscrollStyle and MaterialApp's overscrollStyle argument. You
can now control the overscroll style using Theme.platform.
- the default scroll configuration is now private to avoid people
relying on the defaultTargetPlatform getter in their subclasses (since
they really should use Theme.of(context).platform).
- fix some typos I noticed in some tests.
- added a test for flinging scrollables, that checks that the behavior
differs on the two target platforms.
- made flingFrom and fling in the test API pump the frames.
- added more docs to the test API.
- made the TestAsyncUtils.guard() method report uncaught errors to help
debug errors when using that API.
* Added return value to a onNotification callback.
The LayoutChangedNotification callback was missing a return value.
This commit changes it to return true and stop notification from
bubbling up the tree.
* Changed _RenderInkFeatures to use fresh clip box.
Since it wasn't using the most current value of the RenderBox's
size, _RenderInkFeatures was rendering splashes incorrectly when
the underlying Material size was animating. This commit changes
the clip reference to use the size of the Renderbox instead of
the size method in order to get the newest value.
Why this matters: If you navigate back to a page with a Scrollable that
has a nonzero scrollOffset, we will restore that scrollOffset. We clamp
the scrollOffset to the contentExtent before the first layout, before
contentExtent is updated to its proper value. Initializing contentExtent
to INFINITY effectively disables the first clamp, until we can get a
valid value from layout. Since the previous scrollOffset was valid, it
seems safe to assume it's still valid.
BUG=https://github.com/flutter/flutter/issues/4883
BUG=https://github.com/flutter/flutter/issues/4797
This also required changing the AnimationController state transition
logic to signal completion of the animation during the tick that
finishes the simulation.
Fixes https://github.com/flutter/flutter/issues/3675
* 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.
Previously we would rebuild every route on the second animation frame to
rejigger the offstage bit and the animations. Now we build the page once and
update the offstage bit in place and update the animations using
ProxyAnimations.
Fundamentally the core problem was that we were not saying how wide a
date picker should be. It should be 330 pixels, if I'm measuring the
spec's mocks correctly.
This makes the about page show the licenses of all the Dart packages that a Flutter app uses.
Issues that this does not yet resolve:
- I'm still working on getting the full list of licenses for the sky_engine package.
- Some of the licenses don't print very readably.
- There's no scrollbar on the license page.
I'll provide fixes for the first two in the coming days, but this should unblock anyone who is wanting to see something here, even if it's not quite complete. :-)
----
The patch makes the following changes:
- The license registry is now asynchronous, since the data comes from disk.
- I moved the default license collector from the foundation package to the services package since it uses the default asset bundle now.
- The FLX builder now includes the LICENSE files of each Dart package mentioned in the `.packages` file.
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.
In order to have an efficient way to display clipped avatars,
backgroundImage was added inside of the container's BoxDecoration.
Fixes#4964. This commit also fixes#4567 where the radius property
actually sets the diamater.