颤动:尝试将列中的项目置于底部中心,但它保持左对齐

问题描述 投票:28回答:4

我试图将一个小部件置于底部中心位于Column的底部,但它始终与左侧对齐。

return new Column(
  new Stack(
    new Positioned(
      bottom: 0.0, 
      new Center(
        new Container(),
      ),
    ),
  ),
); 

Positioned的存在迫使Container向左,而不是居中。但是,移除“定位”可将容器置于中间位置。

footer centering flutter
4个回答
50
投票

Align是你要走的路,你只有一个孩子。

如果您有更多,请考虑做这样的事情:

return new Column(
  crossAxisAlignment: CrossAxisAlignment.center,
  mainAxisSize: MainAxisSize.max,
  mainAxisAlignment: MainAxisAlignment.end,
  children: <Widget>[
      //your elements here
  ],
);

12
投票

1)你可以使用Align小部件,FractionalOffset.bottomCenter

2)你也可以在left: 0.0中设置right: 0.0Positioned


10
投票

我用过这种方法,

我想要的是,一个layout总是在底部,但每当键盘弹出,layout也来了它

enter image description here

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)
              ),
            )
          ],
        ),
      ),

0
投票

在SingleChildScrollView()小部件中包装您的Container。当键盘弹出时,它不会出现。

© www.soinside.com 2019 - 2024. All rights reserved.