Проблемы при включении SystemUiOverlays - PullRequest
0 голосов
/ 27 января 2019

Когда я включаю один из SystemOverlay.top или SystemOverlay.bottom большую часть времени, отображается строка состояния, но проблема в SystemNavigationBar (три кнопки внизу).Он не показывается, но когда я провожу снизу вверх, он появляется и больше никогда не уходит.Кроме того, цвет полос BottomNavigation меняется с черного (по умолчанию для системы) и настраиваемого пользователем (с SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.dark.copyWith(systemNavigationBarColor: Colors.red ));).

. А также цвет самих кнопок переключается с непрозрачности .5 на полную 1.0.непрозрачности.

И проблема становится намного хуже, когда оборачиваем любой виджет с помощью детектора жестов (точно не знаю, почему, но когда я выполняю функцию onTap для этих виджетов, запускается случайным образом) и с использованием TextField (этотэто более понятно, потому что когда вы нажимаете на него, он вызывает появление SystemNavigationBar).А также при использовании ListView или PageView без снятия их высоты с высоты панели навигации.

Чтобы воспроизвести это странное поведение, вы можете просто поместить этот код в функцию построения виджета с состоянием:

@override
Widget build(BuildContext context) {

SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top]);
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.dark.copyWith(systemNavigationBarColor: Colors.red
));
return Container(
  color: Colors.red,
  child: Center(
    child: Text("TEST"),
  ),
);
}

Как я могу решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...