我试图让一个容器正好是屏幕高度的一半(在考虑了Appbar高度之后)和屏幕宽度的一半。
这就是我想到的……
class App extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Flexible(
child: Container(
width: MediaQuery.of(context).size.width / 2,
color: Colors.red,
),
),
Flexible(
flex: 1,
child: Container(),
)
],
),
);
}
}
有更好的方法吗?
最佳答案
您可以扣除AppBar
的高度以配置Container
大小。
@override
Widget build(BuildContext context) {
var appBar = AppBar();
return Scaffold(
appBar: appBar,
body: Align(
alignment: Alignment.topCenter,
child: Container(
height: (MediaQuery.of(context).size.height - appBar.preferredSize.height) / 2,
width: MediaQuery.of(context).size.width / 2,
color: Colors.red,
),
),
);
}
关于flutter - 将容器的尺寸确定为 flutter 的一半,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54156365/