我试图让一个容器正好是屏幕高度的一半(在考虑了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(),
          )
        ],
      ),
    );
  }
}

有更好的方法吗?
flutter - 将容器的尺寸确定为 flutter 的一半-LMLPHP

最佳答案

您可以扣除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 的一半-LMLPHP

关于flutter - 将容器的尺寸确定为 flutter 的一半,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54156365/

10-14 03:34