web-dev-qa-db-fra.com

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.

17
Mary

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
  ],
);
25
Rémi Rousselet

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.

12
Mary

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

 enter image description here

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)),
            )
          ],
        ),
      ),
2
Tushar Pandey

Enveloppez votre conteneur dans le widget SingleChildScrollView (). Ensuite, il ne viendra pas au-dessus lorsque le clavier apparaîtra.

0
Nishkarsh Makhija