#flutter
Вопрос:
После обновления flutter я заметил, что у меня под клавиатурой странного вида белая полоса.
Я понятия не имею, как это произошло и как от этого избавиться.
Мое приложение работает в полноэкранном режиме, что может иметь к этому какое-то отношение.
Ответ №1:
Из SystemChrome.setEnabledSystemUIMode
документации:
Настройки здесь могут быть переопределены платформой, когда системный пользовательский интерфейс становится необходимым для функциональности.
Например, на Android, когда клавиатура станет видимой, она включит наложение пользовательского интерфейса панели навигации и строки состояния. Когда клавиатура закрыта, Android не восстановит предыдущие настройки видимости пользовательского интерфейса, и видимость пользовательского интерфейса не может быть изменена до 1 секунды после закрытия клавиатуры, чтобы предотвратить блокировку вредоносных программ пользователями кнопок навигации.
Вы можете навести курсор в своем коде и прочитать больше, но, по-видимому, это связано с проблемами безопасности, связанными с блокировкой вредоносных программ.
Что касается того, почему он кажется белым, я думаю, что это ошибка. Мне удалось заставить его работать только при manual
таком использовании и назначении либо bottom
или top
:
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [SystemUiOverlay.bottom]);
Это, например, при использовании нижней части, сохранит верхнюю строку состояния скрытой, но покажет клавиши навигации. Если клавиатура необходима, она отображается нормально, а не как белая проблема. Если вам не нужна строка состояния, но вас устраивает нижняя часть, используйте SystemUiOverlay.bottom
«возможно», пока она не будет исправлена.
Обратите внимание на скрытую строку состояния вверху.
Комментарии:
1. Спасибо! Я понимаю, почему он хочет это сделать, но почему он белый?
2. Пожалуйста, я отредактировал свой ответ, в определенной степени он сработал.