很抱歉问了这么一个微不足道的问题,但我已经无能为力了。我刚刚花了 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)
你可以这样做
Container(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: [
],
),
)
Run Code Online (Sandbox Code Playgroud)
您应该使用行和列的组合。行可以水平扩展,列可以垂直扩展。
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)
归档时间: |
|
查看次数: |
5228 次 |
最近记录: |