Flutter : comment faire correspondre la largeur d'un bouton avec celle du parent ?

Le framework Flutter propose un panel large de widgets, écrits dans le langage Dart. Ces widgets permettent de créer chacune des parties de son application. On peut ainsi créer ce que l'on souhaite. Le framework est très riche et propose un nombre important de types de widgets. Pour créer un bouton qui a la même largeur que son parent, il existe ainsi plusieurs possibilités.

Si vous choisissez d'utiliser un bouton de la classe "RaisedButton", vous pouvez utiliser un widget qui va le contenir et dont la largeur s'adapte à celle du parent. Si ce n'est que la largeur qui doit s'adapter, le widget de type "SizedBox" convient. Vous devez définir l'attribut "width" avec la valeur "double.infinity", ce qui indique que le widget prend la largeur entière de son parent. Si vous devez prendre la hauteur et la largeur, alors le widget "SizedBox.Expand" est une écriture raccourcie du widget "SizedBox" pour prendre à la fois la largeur et la hauteur du parent.

//Bouton qui prend la largeur du parent
SizedBox(
  width: double.infinity,
  child: RaisedButton(...),
)

//Bouton qui prend la largeur et la hauteur du parent
SizedBox.expand(
  child: RaisedButton(...),
)

Un autre type de widget est le widget "ConstrainedBox". Il permet de créer un container et de lui appliquer des contraintes avec la propriété "constraints". Vous pouvez indiquer dans ces contraintes d'utiliser la largeur maximum possible, avec la classe "BoxConstraints" et la valeur "double.infinity".

ConstrainedBox(
    constraints: const BoxConstraints(minWidth: double.infinity),
    child: RaisedButton(...),
)

Android