1. ホーム
  2. flutter

[解決済み] フラッター : 垂直中心柱

2022-05-04 23:37:33

質問

Flutterで列を垂直に中央揃えする方法は?私はウィジェット "new Center" を使用しました。ウィジェット "new Center"を使いましたが、列を垂直方向に中央揃えすることはできませんか?何かアイデアがあれば助かります....

@override
Widget build(BuildContext context) {
  return Scaffold(
    appBar: AppBar(
      title: Text("Thank you"),
    ),
    body: new Center(
      child: new Column(
        children: <Widget>[
          new Padding(
            padding: new EdgeInsets.all(25.0),
            child: new AnimatedBuilder(
              animation: animationController,
              child: new Container(
                height: 175.0,
                width: 175.0,
                child: new Image.asset('assets/angry_face.png'),
              ),
              builder: (BuildContext context, Widget _widget) {
                return new Transform.rotate(
                  angle: animationController.value * 6.3,
                  child: _widget,
                );
              },
            ),
          ),
          new Text('We are glad we could serve you...', style: new TextStyle(
              fontSize: 16.0,
              fontWeight: FontWeight.w600,
              color: Colors.black87),),
          new Padding(padding: new EdgeInsets.symmetric(vertical: 5.0, horizontal: 0.0)),
          new Text('We appreciate your feedback ! !', style: new TextStyle(
              fontSize: 13.0,
              fontWeight: FontWeight.w200,
              color: Colors.black87),),
        ],
      ),
    ),
  );
}

解決方法は?

Azizが提案する解決策は、次の通りです。

Column(
  mainAxisAlignment: MainAxisAlignment.center,
  crossAxisAlignment: CrossAxisAlignment.center,
  children: [
    //your widgets here...
  ],
)

パディングがあるため、正確な中央にはならないでしょう。

padding: EdgeInsets.all(25.0),

正確なColumnを作るには、少なくともこのケースでは、パディングを削除する必要があります。