Added a stretch Positioned constructor. (#5894)

Fixes #5835.
This commit is contained in:
Dragoș Tiselice 2016-09-16 15:59:01 -07:00 committed by GitHub
parent 573eaf0b71
commit 51cd8b6799
5 changed files with 17 additions and 20 deletions

View File

@ -363,11 +363,7 @@ class CardCollectionState extends State<CardCollection> {
// size of the background,card Stack will be based only on the card. The
// Viewport ensures that when the card's resize animation occurs, the
// background (text and icons) will just be clipped, not resized.
Widget background = new Positioned(
top: 0.0,
right: 0.0,
bottom: 0.0,
left: 0.0,
Widget background = new Positioned.stretch(
child: new Container(
margin: const EdgeInsets.all(4.0),
child: new Viewport(

View File

@ -61,11 +61,7 @@ class TravelDestinationItem extends StatelessWidget {
height: 184.0,
child: new Stack(
children: <Widget>[
new Positioned(
left: 0.0,
top: 0.0,
bottom: 0.0,
right: 0.0,
new Positioned.stretch(
child: new Image.asset(
destination.assetName,
fit: ImageFit.cover

View File

@ -38,11 +38,7 @@ class GridTile extends StatelessWidget {
return child;
final List<Widget> children = <Widget>[
new Positioned(
top: 0.0,
left: 0.0,
bottom: 0.0,
right: 0.0,
new Positioned.stretch(
child: child
)
];

View File

@ -265,11 +265,7 @@ class _TooltipOverlay extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Positioned(
top: 0.0,
left: 0.0,
right: 0.0,
bottom: 0.0,
return new Positioned.stretch(
child: new IgnorePointer(
child: new CustomSingleChildLayout(
delegate: new _TooltipPositionDelegate(

View File

@ -1517,6 +1517,19 @@ class Positioned extends ParentDataWidget<Stack> {
bottom = null,
super(key: key, child: child);
/// Creates a Positioned object with [left], [top], [right], and [bottom] set
/// to 0.0 unless a value for them is passed.
Positioned.stretch({
Key key,
Widget child,
this.left: 0.0,
this.top: 0.0,
this.right: 0.0,
this.bottom: 0.0
}) : width = null,
height = null,
super(key: key, child: child);
/// The distance that the child's left edge is inset from the left of the stack.
///
/// Only two out of the three horizontal values ([left], [right], [width]) can be