如何在PreferredSizeWidget中垂直居中放置一个Widget

时间:2018-12-30 13:25:50

标签: dart flutter

我想在bottom:的{​​{1}}部分中垂直放置文本。

我已经尝试过的一些事情是:
1.将文本包装在AppBar小部件中
2.将文本包装在Center(...)中,然后使用Column(...)

crossAxisAlignment: CrossAxisAlignment.center段是PreferredSizeWidget,不提供任何格式的Widget。

bottom:

我在以下位置发现了这个问题:https://github.com/flutter/flutter/issues/16262,此处的文本居中,但复制代码对我而言却无效。

“文本”应该位于红线以下的位置(参见图片)

AppBar

谢谢!

1 个答案:

答案 0 :(得分:1)

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