我正在开发的应用程序必须始终处于全屏模式,但是,还必须始终显示时间/日期以及特定的硬件ID。我们找到了以下方式来显示上述信息:
但是,正如您可能在上方看到的那样,我用红色标记了一个始终位于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([]); 使应用全屏显示。
答案 0 :(得分:2)
这是因为AppBar
在被视为主要对象时会自动包含SafeArea
。
只需将其primary
的属性设置为false
。
AppBar(
primary: false,
...
)