web-dev-qa-db-ja.com

Flutter:列内のアイテムを下中央に配置しようとしましたが、左揃えのままです

列の下部にあるウィジェットを中央下に配置しようとしていますが、左に揃え続けています。

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

Positionedが存在すると、コンテナは中央に配置されるのではなく、左に移動します。ただし、Positionedを削除すると、コンテナは中央中央に配置されます。

28
Mary

Align は、子が1人だけいる方法です。

さらにある場合は、次のようなことを検討してください。

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

1)FractionalOffset.bottomCenterAlign ウィジェットを使用できます。

2)Positionedleft: 0.0およびright: 0.0を設定することもできます。

12
Mary

このアプローチを使用しましたが、

私が欲しいのは、A 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)
              ),
            )
          ],
        ),
      ),
10
Tushar Pandey

コンテナをSingleChildScrollView()ウィジェットでラップします。そうすると、キーボードがポップアップしても上に来ません。

0