Flutter:如何在列中将容器大小设置为 wrap_content

San*_*inh 2 flutter flutter-layout

我想设置Container动态大小我的意思是wrap_content如何在颤振中做?

在下面的代码Container充分宽度默认情况下,但我想设置宽度ContainerText()只要

Column(
      mainAxisAlignment: MainAxisAlignment.center,
      crossAxisAlignment: CrossAxisAlignment.center,
      mainAxisSize: MainAxisSize.max,
      children: <Widget>[
        Container(
          margin: EdgeInsets.all(10),
          alignment: Alignment.center,
          color: Colors.orange[800],
          child: Text("Hello How are you"),
        ),
        Container(
          margin: EdgeInsets.all(10),
          alignment: Alignment.center,
          color: Colors.yellow[800],
          child: Text("Welcome"),
        )
      ],
    );
Run Code Online (Sandbox Code Playgroud)

我明白了:

在此处输入图片说明

但我想要这个输出:

在此处输入图片说明

Cop*_*oad 8

在此处输入图片说明

最简单的解决方案是使用Align.

Column(
  mainAxisAlignment: MainAxisAlignment.center,
  children: <Widget>[
    Align(
      child: Container(
        margin: EdgeInsets.all(10),
        color: Colors.orange[800],
        child: Text("Hello How are you"),
      ),
    ),
    Align(
      child: Container(
        margin: EdgeInsets.all(10),
        color: Colors.yellow[800],
        child: Text("Welcome"),
      ),
    )
  ],
)
Run Code Online (Sandbox Code Playgroud)


Jay*_*iya 5

Row包裹你的容器

    Column(
            mainAxisAlignment: MainAxisAlignment.center,
            crossAxisAlignment: CrossAxisAlignment.center,
            mainAxisSize: MainAxisSize.max,
            children: <Widget>[
              Row(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  Container(
                    margin: EdgeInsets.all(10),
                    alignment: Alignment.center,
                    color: Colors.orange[800],
                    child: Text("Hello How are you"),
                  ),
                ],
              ),
              Row(
                mainAxisAlignment: MainAxisAlignment.center, 
                children: <Widget>[
                  Container(
                    margin: EdgeInsets.all(10),
                    alignment: Alignment.center,
                    color: Colors.yellow[800],
                    child: Text("Welcome"),
                  ),
                ],
              )
            ],
          ), 
Run Code Online (Sandbox Code Playgroud)