Панель инструментов Flutter перекрывается под строкой состояния

Мне интересно, где верхний край приложения начинает трепетать. Взгляните на следующее приложение hello world:

введите описание изображения здесь

Баннер отладки опустился ниже строки состояния, что указывает на то, что верхний край моего приложения начинается с края экрана. Однако AppBar приложения был помещен сразу после строки состояния. Эта непоследовательность меня смущает! Является ли небольшая часть приложения частью строки состояния моего приложения или нет? Почему AppBar нет в строке состояния? Как я могу решить, как мое приложение должно перекрывать строку состояния? И что здесь лучше всего? Хорошей практикой является наложение заголовка приложения на строку состояния?


person Gigili    schedule 03.08.2018    source источник


Ответы (1)


На самом деле панель приложений находится частично под строкой состояния. У него просто есть внутренняя прокладка для правильной работы

Это очень ясно, когда вы убираете панель приложений:

Scaffold(
  body: Text("Hello"),
)

В этом случае под строкой состояния отобразится «Привет».

Вы можете исправить это, обернув свое тело SafeArea:

Scaffold(
  body: SafeArea(
    child: Text("Hello"),
  ),
),
person Rémi Rousselet    schedule 03.08.2018
comment
Извините, но это не ответ на вопрос. Я просто хочу, чтобы баннер «медленный режим» находился под строкой состояния. - person Chandler; 02.01.2019
comment
@Chandler, этот ответ - проблема, которую вы пытаетесь решить, не является проблемой. Это желаемое поведение, и нет причин для его изменения. - person Rémi Rousselet; 02.01.2019
comment
Безопасная область должна быть imo по умолчанию (не требует указания), но я думаю, с выемками и прочим теперь все по-другому - person Daniel Wilson; 20.01.2019
comment
@DanielWilson Это значение по умолчанию. В Appbar есть такие отступы. - person Rémi Rousselet; 20.01.2019
comment
Это сработало для меня - person core114; 17.06.2021