我想在bottom:AppBar Sektion中垂直居中放置文本。

我已经尝试过的一些东西是:
1.将文本包装在Center(...)小部件中
2.将文本包装在Column(...)中并使用crossAxisAlignment: CrossAxisAlignment.centerbottom: Sektion是PreferredSizeWidget,并且不提供任何格式化小部件的格式。

appBar: new AppBar(
      actions: <Widget>[
        IconButton(
          icon: Icon(Icons.settings),
          onPressed: () {
            print("Settings Icon");
          },
        ),
      ],
      bottom: PreferredSize(
        preferredSize: Size(130.0, 130.0),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.center,
          children: <Widget>[
            new Text(
              'N/A',
           ),
          ],
        ),
      ),
    ),

我在这里发现了这个问题:https://github.com/flutter/flutter/issues/16262文本居中,但重现代码对我而言却无效。

文字应该在红线这样的地方出现(请参见图片)

谢谢!

最佳答案

PreferredSizeWidget对其子对象没有大小限制,因此必须将Column包装在具有定义高度的小部件中,以便添加对齐方式。

另外,应该使用mainAxisAlignment,因为这是Column中的垂直对齐方式。

  bottom: PreferredSize(
    preferredSize: Size(130.0, 130.0),
    child: Container(
      height: 130,
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          new Text(
            'N/A',
        ),
        ],
      ),
    ),
  )

关于dart - 如何在PreferredSizeWidget中垂直居中放置一个Widget,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53977984/

10-09 04:21