Flutter: essayer de centrer en bas un élément dans une colonne, mais l'alignement reste à gauche
J'essaie de centrer un widget en bas d'une colonne, mais il continue de s'aligner à gauche.
return new Column(
new Stack(
new Positioned(
bottom: 0.0,
new Center(
new Container(),
),
),
),
);
L'existence de Positioned force le conteneur à gauche, au lieu de se centrer. Enlever le positionné, cependant, place le conteneur au centre.
Align est la voie à suivre si vous avez un seul enfant.
Si vous en avez plus, envisagez de faire quelque chose comme ceci:
return new Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
//your elements here
],
);
1) Vous pouvez utiliser un Align widget, avec FractionalOffset.bottomCenter
.
2) Vous pouvez également définir left: 0.0
et right: 0.0
dans la Positioned
.
J'ai utilisé cette approche,
Ce que je veux, c’est, Un layout
toujours en bas, mais chaque fois que le clavier s’affiche, ce layout
arrive
body: Container(
color: Colors.amber,
height: double.maxFinite,
child: new Stack(
//alignment:new Alignment(x, y)
children: <Widget>[
new Positioned(
child: myWidget(context, data.iconName, Colors.red),
),
new Positioned(
child: new Align(alignment: FractionalOffset.bottomCenter,child: myWidget(context, data.iconName, Colors.green)),
)
],
),
),
Enveloppez votre conteneur dans le widget SingleChildScrollView (). Ensuite, il ne viendra pas au-dessus lorsque le clavier apparaîtra.