我有一个像这样的 SliverAppBar 设置:
class PostScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: NestedScrollView(
headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
return <Widget>[
SliverAppBar(
floating: true,
pinned: false,
snap: true,
title: Text('News'),
forceElevated: true,
actions: [
IconButton(
icon: Icon(Icons.share),
tooltip: 'Share',
onPressed: () {
// TODO
},
),
],
),
];
},
body: ListView(
padding: EdgeInsets.all(0),
children: <Widget>[
// ...
],
),
),
);
}
}
每当我滚动页面时,应用栏会按预期出现/重新出现,但是当应用栏隐藏时,设备状态栏会显示在我的内容之上(至少在 iOS 上,尚未在 Android 上测试过)。我知道我可以使用以下代码段隐藏它:
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.bottom]),
但我没有弄清楚如何仅在隐藏应用栏时触发它,一旦应用栏重新出现,也重新启用状态栏。有什么建议么?