Estoy tratando de alinear dos elementos en los extremos, uno a la izquierda y otro a la derecha. Tengo una fila que está alineada a la izquierda y luego un hijo de esa fila está alineado a la derecha. Sin embargo, parece que la fila secundaria está recogiendo la propiedad de alineación de su padre. Este es mi codigo
var SettingsRow = new Row(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Text("Right",softWrap: true,),
],
);
var nameRow = new Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Text("Left"),
SettingsRow,
],
);
como resultado obtengo algo como esto
Left Right
Lo que me gustaría es
Left Right
También hay suficiente espacio en la fila. Mi pregunta es ¿por qué el niño Row no exhibe su MainAxisAlignment.endpropiedad?
flutter
flutter-layout
MistyD
fuente
fuente

settingsRow, que contieneText("right")mainAxisAlignmentdel niño no ocurre. ¿Las propiedades de los padres superan a las de los niños?Una solución simple sería usar
Spacer()entre los dos widgetsRow( children: [ Text("left"), Spacer(), Text("right") ] );fuente
Puedes hacerlo de muchas formas.
Utilizando
mainAxisAlignment: MainAxisAlignment.spaceBetweenUtilizando
SpacerUtilizando
ExpandedUtilizando
FlexibleSalida :
fuente
Stacken ese caso.Stack, con su primer hijoAlign(correcto) y el segundo podría ser unCentero simpleAlign.Sí,
CopsOnRoades correcto, a través de la pila puede alinear uno a la derecha y otro en el centro.Stack( children: [ Align( alignment: Alignment.centerRight, child: Text("right"), ), Align( alignment: Alignment.center, child: Text("center"), ) ], )fuente