Je veux savoir comment puis-je définir une largeur correspondant à la largeur de la mise en page parent
new Container(
width: 200.0,
padding: const EdgeInsets.only(top: 16.0),
child: new RaisedButton(
child: new Text(
"Submit",
style: new TextStyle(
color: Colors.white,
)
),
colorBrightness: Brightness.dark,
onPressed: () {
_loginAttempt(context);
},
color: Colors.blue,
),
),
Je connais peu de choses sur le Expanded
widget mais Expanded
élargit la vue dans les deux sens, je ne sais pas comment le faire.
flutter
flutter-layout
Mohit Suthar
la source
la source
Réponses:
La solution correcte serait d'utiliser le
SizedBox.expand
widget, ce qui obligechild
à correspondre à la taille de son parent.Il existe de nombreuses alternatives, ce qui permet plus ou moins de personnalisation:
ou en utilisant un
ConstrainedBox
la source
Failed assertion: line 1645 pos 12: '!_debugDoingThisLayout': is not true.
L'attribut size peut être fourni en utilisant
ButtonTheme
avecminWidth: double.infinity
ou après https://github.com/flutter/flutter/pull/19416 atterri
la source
la source
Le moyen le plus simple consiste à utiliser un
FlatButton
encapsulé à l'intérieur d'unContainer
, Le bouton par défaut prend la taille de son parent et ainsi attribuer une largeur souhaitée auContainer
.Production:
la source
Après quelques recherches, j'ai trouvé une solution, et grâce à @ Günter Zöchbauer,
J'ai utilisé la colonne au lieu de Container et
définissez la propriété sur la colonne CrossAxisAlignment.stretch sur Fill match parent de Button
la source
Column
/Row
ne doit pas être utilisé pour la mise en page à enfant unique. Utilisez plutôt l'alternative à enfant unique. Tels queAlign
,SizedBox
et similaires.Vous pouvez définir le parent correspondant du widget en
1) réglez la largeur sur double.infinity :
2) Utilisez MediaQuery:
la source
@Mohit Suthar,
Nous avons trouvé l'une des meilleures solutions pour faire correspondre le parent à la largeur et à la hauteur comme ci-dessous
Ici, vous pouvez vérifier que le
Expanded
contrôleur acquiert toute la largeur et la hauteur du reste .la source
Cela a fonctionné pour moi.
Le moyen le plus simple de donner la largeur ou la hauteur de match-parent dans le code donné ci-dessus.
la source
Car
match_parent
vous pouvez utiliserPour toute valeur particulière que vous pouvez utiliser
la source
Le code suivant fonctionne pour moi
la source
Cela fonctionne pour moi dans un widget autonome.
la source
Cela fonctionne pour moi.
la source
L'utilisation de a
ListTile
fonctionne également, car une liste remplit toute la largeur:la source
vous pouvez le faire avec MaterialButton
la source
la source
Celui-ci a fonctionné pour moi
la source
RaisedButton( child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [Text('Submit')], ) )
Ça marche pour moi.la source
L'approche la plus basique consiste à utiliser Container en définissant sa largeur sur l'infini. Voir ci-dessous l'exemple de code
la source
Quelque chose comme ça fonctionne pour moi.
la source
Placez votre
RaisedButton(...)
dans unSizedBox
la source