Включить режим погружения только для панели навигации - PullRequest
0 голосов
/ 26 февраля 2019

В моем приложении мне нужно сделать строку состояния прозрачной (успешно реализованной), и когда на телефоне есть программные навигационные кнопки, они отображаются только тогда, когда пользователь щелкает снизу и должен исчезнуть через X раз (это определяется системой, я считаю).Я посмотрел много уроков, но все они показывают, как включить режим погружения, который также скрывает строку состояния.Это код, который скрывает как строку состояния, так и кнопки навигации:

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    Log.d("LogTag", "onFocusChanged");
    if (hasFocus) {
        getWindow().getDecorView().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);
    }
}

Я не могу заставить ее работать в соответствии с требованиями, любая идея?

Если кому-то нужен код, чтобы сделать прозрачнымВ строке состояния здесь находится рабочий код:

Window window = getWindow();
WindowManager.LayoutParams winParams = window.getAttributes();

winParams.flags &= ~WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;

window.setAttributes(winParams);
window.setStatusBarColor(Color.TRANSPARENT);

Позвоните по номеру onCreate() Actitivty.

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