У меня есть настройка 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]),
, но мне не удалось понять, как вызвать его, только когда панель приложения скрыта, а также снова включить строку состояния, как только панель приложения появится снова.Есть предложения?