Intereting Posts
Пересмотр 2: Как передать данные из справочной службы / потока в другую деятельность, чем MainActivity, которая создала фоновый сервис Включить блокировку кнопок на виртуальной клавиатуре Android Использование Paint.setStrokeJoin () и Paint.setStrokeMiter () Обнаруживать, когда он носит подключенный / отключенный к / с телефона Android Adobe AIR / FlashBuilder 4.6: создание напоминания в приложении для Android Передача данных изохронной передачи данных через USB Как получить установленные приложения в Android и без системных приложений? Как вращать актер изображения в libgdx по средней точке? Почему maxWidth на кнопке не работает и как его обойти? Как я должен правильно открывать и закрывать свою базу данных Удаление и обновление существующего события календаря Как отправлять запросы приложений друзьям через Facebook Android SDK Выполнение покупок в приложении с учетной записью Google Play отличается от основной учетной записи устройства Вызов пользовательской Android-клавиатуры Совместное изображение с другими приложениями

Строка состояния появляется, когда появляется мягкая клавиатура, но не скрывается, когда исчезает мягкая клавиатура в режиме погружения

Первоначально я установил, что My Activity находится в режиме Immersive, со следующим кодом:

View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); 

Все работает нормально, пока пользователь не нажмет на EditText, и появится мягкая клавиатура. Это приводит к тому, что Строка состояния держится сверху и никогда не прячется назад даже после исчезновения мягкой клавиатуры. Как ни странно, я столкнулся только с этой проблемой на телефонах LG / Samsung, у телефонов Sony нет никаких проблем с этим. Кто-нибудь об этом знает?

Solutions Collecting From Web of "Строка состояния появляется, когда появляется мягкая клавиатура, но не скрывается, когда исчезает мягкая клавиатура в режиме погружения"

Используйте такой режим погружения.

 @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); immersiveMode(); getWindow().getDecorView().setOnSystemUiVisibilityChangeListener (new View.OnSystemUiVisibilityChangeListener() { @Override public void onSystemUiVisibilityChange(int visibility) { immersiveMode(); } }); } 

Вот ваша функция режима погружения.

 public void immersiveMode() { final View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE); } 

Также вызовите immersiveMode () в OnResume () ; Теперь строка состояния исчезнет по мере исчезновения вашей клавиатуры.