我尝试在CircularProgressIndicator的中心放置一个文本倒计时器。这是正文布局的代码:
return new Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
Stack(
children: <Widget>[
Container(
width: 200,
height: 200,
child: new CircularProgressIndicator(
strokeWidth: 15,
value: value,
),
),
Align(
alignment: FractionalOffset.center,
child: Text("Test")
)
],
),
...
],
);
添加Align()构件会更改以下布局:
转换为:
我也试过
Align(
alignment: Alignment.center,
child: Text("Test")
)
和
Center(
child: Text("Test"),
)
而不是Align()小部件,但它们都产生相同的结果
4条答案
按热度按时间kb5ga3dv1#
这是因为你的
Stack
没有大小,所以要解决你的问题,把你的Stack
Package 在SizedBox
里面,设置一个高度,然后Center
PackageText
。2vuwiymt2#
使用
Positioned
它们应该与Stacks
一起使用。根据文件:
定位小部件必须是堆栈的后代,并且从定位小部件到其封闭堆栈的路径必须仅包含StatelessWidgets或StatefulWidgets(而不是其他类型的小部件,如RenderObjectWidgets)。
另外,不要忘记将
Stack
Package 在Container
或Center
中,以便对盒子进行约束。uyhoqukh3#
j9per5c44#
只需将其 Package 在SizedBox()中
https://i.stack.imgur.com/fJfaL.png