반응형
질문
나는 match 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,
),
),
나는 Expanded
위젯에 대해 약간 알고 있지만, Expanded
는 양방향으로 뷰를 확장시키기 때문에 어떻게 해야할지 모릅니다.
답변
업데이트:
Flutter 2.0에서는 RaisedButton
이 더 이상 사용되지 않으며 ElevatedButton
으로 대체되었습니다. minimumSize
를 이렇게 사용할 수 있습니다:
ElevatedButton(
style: ElevatedButton.styleFrom(
minimumSize: Size.fromHeight(40), // fromHeight는 너비로 double.infinity를 사용하고 높이는 40입니다
),
onPressed: () {},
child: Text('버튼의 텍스트'),
)
Flutter 2.0 미만의 이전 답변:
올바른 해결책은 SizedBox.expand
위젯을 사용하는 것입니다. 이는 child
를 부모의 크기와 일치하도록 강제합니다.
SizedBox.expand(
child: RaisedButton(...),
)
더 많거나 적은 사용자 정의를 허용하는 많은 대안이 있습니다:
SizedBox(
width: double.infinity,
// height: double.infinity,
child: RaisedButton(...),
)
또는 ConstrainedBox
를 사용할 수 있습니다.
ConstrainedBox(
constraints: const BoxConstraints(minWidth: double.infinity),
child: RaisedButton(...),
)
반응형
댓글