我试图将一个小部件置于底部中心位于Column的底部,但它始终与左侧对齐。
return new Column(
new Stack(
new Positioned(
bottom: 0.0,
new Center(
new Container(),
),
),
),
);
Positioned的存在迫使Container向左,而不是居中。但是,移除“定位”可将容器置于中间位置。
Align是你要走的路,你只有一个孩子。
如果您有更多,请考虑做这样的事情:
return new Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
//your elements here
],
);
1)你可以使用Align小部件,FractionalOffset.bottomCenter
。
2)你也可以在left: 0.0
中设置right: 0.0
和Positioned
。
我用过这种方法,
我想要的是,一个layout
总是在底部,但每当键盘弹出,layout
也来了它
body: Container(
color: Colors.amber,
height: double.maxFinite,
child: new Stack(
//alignment:new Alignment(x, y)
children: <Widget>[
new Positioned(
child: myWidget(context, data.iconName, Colors.red),
),
new Positioned(
child: new Align(
alignment: FractionalOffset.bottomCenter,
child: myWidget(context, data.iconName, Colors.green)
),
)
],
),
),
在SingleChildScrollView()小部件中包装您的Container。当键盘弹出时,它不会出现。