2017-10-08 1 views
0

Nehmen wir an, ich möchte ein Widget in einem Stack positionieren, aber mit einem Prozent der Stack-Position anstelle einer festen Größe. Wie man das im Flattern macht?Position Widget im Stapel mit Prozent

Ich würde erwarten, dass der Positionned.fromRelativeRect Konstruktor wäre die Sache, mit Floats zwischen 0 und 1. Aber scheint wie nein.

Align ermöglicht das Widget in Prozent zu positionieren. Aber heightFactor und widthFactor ändert die Align Größe statt der Kindgröße. Was ich nicht will.

Antwort

1

Sie können Positionned.fill und LayoutBuilder kombinieren, um ein solches Ergebnis zu erzielen.

new Stack(
    children: <Widget>[ 
     new Positioned.fill(
     child: new LayoutBuilder(
      builder: (context, constaints) { 
      return new Padding(
       padding: new EdgeInsets.only(top: constaints.biggest.height * .59, bottom: constaints.biggest.height * .31), 
       child: new Text("toto", textAlign: TextAlign.center,), 
      ); 
      }, 
     ), 
    ) 
    ], 
),