在中心对齐列,但在 Flutter 中将文本与屏幕左侧对齐

Iro*_*one 4 dart flutter

很抱歉问了这么一个微不足道的问题,但我已经无能为力了。我刚刚花了 3 个小时试图让一列在中心对齐,如果没有 Container,我就无法做到这一点,现在我无法将文本放在屏幕的左侧。

为了更好地解释它,我在我的应用程序的中心有一个我想要的列。在顶部有文本,它被移到左边,但列中的所有其他小部件都居中。

对于该列,我尝试了 mainAxisAlign 和 crossAxisAlign。前者绝对什么都不做,后者走错了方向(垂直居中而不是水平居中,这不是我想要的)。经过多次其他尝试后,我已求助于使用容器,但现在我无法将文本移动到左侧。我使用textAlign: TextAlign.Left并尝试通过将 Container 放入 a 来扩展 Container 以适应屏幕SizedBox.expand(),但没有任何反应。

谁能解释一下如何将列居中,然后将文本向左对齐?

这是我迄今为止尝试过的:

return SizedBox.expand(
                child: Container(
                alignment: Alignment.center,
                child: Column(
                    children:
                    [
                        Text(
                            text,
                            style: TextStyle(
                                fontSize: 25.0,
                            ),
                            textAlign: TextAlign.left,
                        ),
                        CircularProgressIndicator(
                            backgroundColor: Colors.white10,
                            strokeWidth: 5,
                        )
                    ],
                    crossAxisAlignment: CrossAxisAlignment.center,
                ),
                margin: EdgeInsets.all(10.0),
            )
        );
Run Code Online (Sandbox Code Playgroud)

以防万一我解释得非常糟糕,这里有一张基本图片 谢谢!

小智 10

使用Align()小部件

Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          Align(
            alignment: Alignment.centerLeft,
            child: 
          Text(
              'text',
            ),
          ),
        ],
      ),
Run Code Online (Sandbox Code Playgroud)


pav*_*vel 5

你可以这样做

 Container(
                      child: Column(
                        crossAxisAlignment: CrossAxisAlignment.start,
                        mainAxisAlignment: MainAxisAlignment.center,
                        children: [

                         
                        ],
                      ),
                    )
Run Code Online (Sandbox Code Playgroud)


Man*_*Raj 0

您应该使用行和列的组合。行可以水平扩展,列可以垂直扩展。

SizedBox.expand(
              child: Padding(
                  padding: EdgeInsets.all(12.0),
                  child: Column(children: <Widget>[
                    Row(children: <Widget>[Text('Hello')]),
                    Expanded(
                        child: Column(
                            children: <Widget>[CircularProgressIndicator()],
                            mainAxisAlignment: MainAxisAlignment.center))
                  ])))
Run Code Online (Sandbox Code Playgroud)