Flutter-在AppBar上填充

时间:2020-08-04 15:25:23

标签: android flutter user-interface dart

我正在开发的应用程序必须始终处于全屏模式,但是,还必须始终显示时间/日期以及特定的硬件ID。我们找到了以下方式来显示上述信息:

Screenshot of the app with debug paint on

但是,正如您可能在上方看到的那样,我用红色标记了一个始终位于AppBar上方的Padding小部件,我们想删除该填充。这样的事情可能吗?

下面有我们正在使用的自定义AppBar的代码。

@override
Widget build(BuildContext context) {
return PreferredSize(
  preferredSize: Size.fromHeight(45),
  child: AppBar(
    centerTitle: true,
    title: Column(
      children: <Widget>[
        Text(pageName,
          style: TextStyle(
              fontSize: pageNameFontSize
          ),
        ),
        SizedBox(
          height: 8,
        )
      ],
    ),
    actions: <Widget>[
      Column(
        crossAxisAlignment: CrossAxisAlignment.end,
        children: <Widget>[
          SizedBox(
            height: 6,
          ),
          Row(
            children: <Widget>[
              AppBarClock(
                style: TextStyle(
                    fontSize: 20
                ),
              ),
              SizedBox(
                width: 5,
              )
            ],
          ),
          Row(
            children: <Widget>[
              Text(this.trailText,
                textAlign: TextAlign.right,
              ),
              SizedBox(
                width: 5,
              )
            ],
          ),
        ],
      )
    ],
  ),
);

我们正在使用 SystemChrome.setEnabledSystemUIOverlays([]); 使应用全屏显示。

1 个答案:

答案 0 :(得分:2)

这是因为AppBar在被视为主要对象时会自动包含SafeArea

只需将其primary的属性设置为false

AppBar(
   primary: false,
   ...
)