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.