80 votes

Flutter: essayer de centrer en bas un élément dans une colonne, mais il reste aligné à gauche

J'essaie de centrer en bas un widget en bas d'une colonne, mais il continue de s'aligner sur la gauche.

 return new Column(
  new Stack(
    new Positioned(
      bottom: 0.0, 
      new Center(
        new Container(),
      ),
    ),
  ),
); 
 

L'existence du positionné force le conteneur vers la gauche, au lieu de le centrer. Cependant, la suppression du positionné place le conteneur au centre du centre.

121voto

Rémi Rousselet Points 45139

Align est la voie à suivre si vous n'avez qu'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
  ],
);
 

36voto

Tushar Pandey Points 417

J'ai utilisé cette approche,

Ce que je veux, c'est un layout toujours en bas mais chaque fois que le clavier apparaît, layout vient aussi dessus

entrez la description de l'image ici

 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)
              ),
            )
          ],
        ),
      ),
 

22voto

Mary Points 1717

1) Vous pouvez utiliser un widget Aligner , avec FractionalOffset.bottomCenter .

2) Vous pouvez également définir left: 0.0 et right: 0.0 dans Positioned .

3voto

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X