flutter - 如何在 flutter 中在容器内制作固定大小的容器

标签 flutter dart flutter-layout

我正在尝试进行应用布局,其中主容器将占设备高度的 45%,并且主容器内的容器应具有固定大小。

我编写了以下代码,但内部容器将全高作为其父(主)容器。

class TestContainer extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return Container(
          width: 50,
          height:MediaQuery.of(context).size.height * 0.45,
          color: Colors.red
          child:Container(
          width: 50,
          height: 100,
          color: Colors.green
          )
        );
      }
    }

知道我做错了什么吗?

最佳答案

通过用 Center 小部件包裹它来修复它:

class TestContainer extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return Container(
          width: 50,
          height:MediaQuery.of(context).size.height * 0.45,
          color: Colors.red,
          // wrap with a center widget
          child:Center(
            child: Container(
            width: 50,
            height: 100,
            color: Colors.green
            ),
          )
        );
      }
    }

将内部容器放在底部中心

class TestContainer extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      width: 50,
      height: MediaQuery.of(context).size.height * 0.45,
      color: Colors.red,
      // wrap with a align widget
      child: Align(
        // set the alignment property
        alignment: Alignment.bottomCenter,
        child: Container(
          width: 50,
          height: 100,
          color: Colors.green,
        ),
      ),
    );
  }
}

在此处阅读有关 Flutter 中布局约束的更多信息:https://flutter.dev/docs/development/ui/layout/constraints

关于flutter - 如何在 flutter 中在容器内制作固定大小的容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63307617/

相关文章:

android - 如何用 flutter 解决代理设置问题?

javascript - 当 pub.dev 插件没有 web 支持时,使用 npm packages for flutter web

android-studio - 初始化 ADB 错误 : Debug Bridge not found

colors - 如何在 flutter 中调用带有彩色文本的 print() 到 android studio 控制台

dart - 无法为 OutlineButton 设置填充颜色

flutter - 如何在不同的屏幕尺寸上测试 Flutter 小部件?

string - Dart 首字母大写

flutter crossAxisAlignment 与 mainAxisAlignment

flutter - 如何在展开的ListView中设置容器宽度

flutter - Builder 与 GlobalKey