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

Я хочу скрыть строку состояния в строке состояния, и вот как я это делаю:

if (Build.VERSION.SDK_INT < 16) {
            activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
            activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
        } else {
            View decorView = activity.getWindow().getDecorView();
            int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN
            decorView.setSystemUiVisibility(uiOptions);
        }

}

Проблема заключается в том, что когда программная клавиатура становится видимой (вводите EditText), строка состояния возвращается.


person feisal    schedule 16.03.2016    source источник


Ответы (1)


Если вы хотите сделать на .java, просто введите код:

if (Build.VERSION.SDK_INT < 16) {
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
        }

но если вы хотите скрыть строку состояния в xml, просто введите код:

<application
    ...
    android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen" >
    ...
</application>

Взгляните на http://developer.android.com/intl/es/training/system-ui/status.html для получения дополнительной информации...

person M. Mariscal    schedule 16.03.2016
comment
Это не отвечает на вопрос. Вопрос спрашивает, как предотвратить появление строки состояния при отображении программной клавиатуры. FLAG_FULLSCREEN не имеет ничего общего с тем фактом, что система всегда будет показывать строку состояния при отображении программной клавиатуры. - person Monte Creasor; 03.07.2018