J'ai une pile de widgets avec deux widgets à l'intérieur. L'un d'eux dessine l'arrière-plan, l'autre dessine par-dessus. Je veux que les deux widgets aient la même taille.
Je veux que le widget supérieur, qui est une colonne, se développe et remplisse la pile verticalement à la taille définie par le widget d'arrière-plan. J'ai essayé de définir le mainAxis mainAxisSize: MainAxisSize.max
mais ce n'est pas le cas; Aidez-moi.
Comment puis-je le faire fonctionner
3 Réponses :
Je pense que vous pourriez envelopper votre colonne dans un conteneur comme celui-ci:
Container( height: double.infinity, width: double.infinity, child: Column() ),
Vous pouvez essayer d'encapsuler la colonne avec un widget positioned
. Réglez le top
sur 0 et le bottom
sur 0. Cela fera que la colonne remplira la pile verticalement.
exemple de code:
Stack( children: <Widget>[ // Background widget rep Container( color: Colors.pink, ), Positioned( top: 0, bottom: 0, child: Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ Text('madonna'), Text('flutter'), ], ), ) ], )
Utilisez Positioned.fill
.
Stack( children: <Widget>[ Positioned.fill( child: Column( children: <Widget>[ //... ], ), ), //... ], );
Plus d'informations sur Positioned
dans le widget Flutter de la semaine
J'ai économisé beaucoup de temps. je faisais du hit and trail avant de chercher.
Souhaitez-vous ajouter un petit peu votre code source?
Aucune des réponses n'a fonctionné pour moi
Si vous ajoutez votre code, je peux probablement vous aider.