Quiero saber cómo puedo establecer un ancho para que coincida con el ancho del diseño principal
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,
),
),
Sé un poco sobre el Expanded
widget, pero Expanded
amplía la vista en ambas direcciones, no sé cómo hacerlo.
flutter
flutter-layout
Mohit Suthar
fuente
fuente
Respuestas:
La solución correcta sería usar el
SizedBox.expand
widget, que lo obligachild
a coincidir con el tamaño de su padre.Existen muchas alternativas, lo que permite más o menos personalización:
o usando un
ConstrainedBox
fuente
Failed assertion: line 1645 pos 12: '!_debugDoingThisLayout': is not true.
El atributo de tamaño se puede proporcionar
ButtonTheme
conminWidth: double.infinity
o después de https://github.com/flutter/flutter/pull/19416 aterrizó
fuente
fuente
La forma más sencilla es utilizar un
FlatButton
envuelto dentro de unContainer
. El botón por defecto toma el tamaño de su padre y así asigna un ancho deseado alContainer
.Salida:
fuente
Después de investigar un poco, encontré una solución y, gracias a @ Günter Zöchbauer,
Usé columna en lugar de contenedor y
establezca la propiedad en la columna CrossAxisAlignment.stretch para Fill match parent of Button
fuente
Column
/Row
no debería usarse para el diseño de un solo hijo. En su lugar, utilice la alternativa de un solo hijo. Tales comoAlign
,SizedBox
y similares.Puede establecer la coincidencia de padre del widget por
1) establezca el ancho en double.infinity :
2) Utilice MediaQuery:
fuente
@Mohit Suthar,
Encontré una de las mejores soluciones para hacer coincidir el padre con el ancho y la altura como se muestra a continuación
Aquí puede comprobar que el
Expanded
controlador adquiere el ancho y la altura del resto .fuente
Esto funcionó para mí.
La forma más sencilla de dar ancho o alto al padre coincidente en el código dado arriba.
fuente
Porque
match_parent
puedes usarPara cualquier valor en particular puede utilizar
fuente
El siguiente código funciona para mí
fuente
Esto me funciona en un widget autónomo.
fuente
Esto es trabajo para mí.
fuente
El uso de a
ListTile
también funciona, ya que una lista ocupa todo el ancho:fuente
puedes hacerlo con MaterialButton
fuente
fuente
Este funcionó para mi
fuente
RaisedButton( child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [Text('Submit')], ) )
Esto funciona para mi.fuente
El enfoque más básico es usar Container definiendo su ancho en infinito. Vea el siguiente ejemplo de código
fuente
Algo como esto funciona para mí.
fuente
Coloque su
RaisedButton(...)
en unSizedBox
fuente