Quero saber como posso definir uma largura para corresponder à largura do layout pai
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,
),
),
Eu sei um pouco sobre o Expanded
widget, mas Expanded
expande a visão para ambas as direções, eu não sei como fazer isso.
flutter
flutter-layout
Mohit Suthar
fonte
fonte
Respostas:
A solução correta seria usar o
SizedBox.expand
widget, que obrigachild
a corresponder ao tamanho de seu pai.Existem muitas alternativas, o que permite mais ou menos personalização:
ou usando um
ConstrainedBox
fonte
Failed assertion: line 1645 pos 12: '!_debugDoingThisLayout': is not true.
O atributo de tamanho pode ser fornecido usando
ButtonTheme
comminWidth: double.infinity
ou após https://github.com/flutter/flutter/pull/19416 pousar
fonte
fonte
A maneira mais simples é usar um
FlatButton
empacotado dentro de umContainer
. Por padrão, o botão assume o tamanho de seu pai e, portanto, atribui a largura desejada aContainer
.Resultado:
fonte
Depois de alguma pesquisa, descobri uma solução e, graças a @ Günter Zöchbauer,
Usei coluna em vez de recipiente e
defina a propriedade para a coluna CrossAxisAlignment.stretch para Preencher correspondência pai de Botão
fonte
Column
/Row
não deve ser usado para layout de filho único. Use a alternativa de filho único. Tais comoAlign
,SizedBox
e semelhantes.@Mohit Suthar,
Encontrou uma das melhores soluções para combinar o pai com a largura e a altura abaixo
Aqui você pode verificar se o
Expanded
Controlador adquire toda a largura e altura restantes .fonte
Isso funcionou para mim.
A maneira mais simples de fornecer largura ou altura correspondente ao pai no código fornecido acima.
fonte
Para
match_parent
você pode usarPara qualquer valor específico, você pode usar
fonte
Você pode definir a correspondência parente do widget por
1) defina a largura como double.infinity :
2) Use MediaQuery:
fonte
O código a seguir funciona para mim
fonte
Isso está funcionando para mim em um widget independente.
fonte
Isso está funcionando para mim.
fonte
Usar um
ListTile
também funciona bem, já que uma lista preenche toda a largura:fonte
você pode fazer isso com o MaterialButton
fonte
fonte
Este funcionou para mim
fonte
RaisedButton( child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [Text('Submit')], ) )
Funciona para mim.fonte
A abordagem mais básica é usar o Container definindo sua largura para infinito. Veja abaixo o exemplo de código
fonte
Algo assim funciona para mim.
fonte
Coloque o seu
RaisedButton(...)
em umSizedBox
fonte