容器包装了文本小部件,但是为什么按钮小部件受textAlign影响?

时间:2020-09-27 11:39:12

标签: android flutter

先生,在代码中,我包装了唯一的Text小部件。之后,我使用了一些自定义样式,例如文本对齐。但是使用后,我希望只将文本部分居中,因为只有该小部件不会被包装到其他部件中。但是我看到我的按钮也居中了。怎么可能?我被包裹了一个小部件,但另一个小部件却受到了影响。先生,这有什么逻辑? screenshot

2 个答案:

答案 0 :(得分:0)

将列小部件的mainaxisalignement设置为开始,或将所有您不想居中的小部件包装在列中

答案 1 :(得分:0)

您需要设置crossAxisAlignment: CrossAxisAlignment.start,并用中心小部件包装标题文本。希望下面的代码可以为您提供一个很好的例子。

class Demo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("title"),
      ),
      body: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: <Widget>[
          Center(
            child: Text("Whats your favourite food?"),
          ),
          RaisedButton(
            onPressed: () {},
            child: Container(
              padding: EdgeInsets.zero,
              decoration: BoxDecoration(),
              child: Padding(
                padding: const EdgeInsets.all(8.0),
                child: Text("Answer 1"),
              ),
            ),
          ),
          RaisedButton(
            onPressed: () {},
            child: Container(
              padding: EdgeInsets.zero,
              decoration: BoxDecoration(),
              child: Padding(
                padding: const EdgeInsets.all(8.0),
                child: Text("Answer 1"),
              ),
            ),
          ),
          RaisedButton(
            onPressed: () {},
            child: Container(
              padding: EdgeInsets.zero,
              decoration: BoxDecoration(),
              child: Padding(
                padding: const EdgeInsets.all(8.0),
                child: Text("Answer 1"),
              ),
            ),
          ),
        ],
      ),
    );
  }
}