Удалить FLAG_TRANSLUCENT_STATUS во время выполнения

У меня есть MainActivity с большим количеством Fragments и в одном конкретном фрагменте я хочу нарисовать за системной панелью, поэтому я применяю во время выполнения следующий флаг:

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        getActivity().getWindow().setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    }

То, что я хочу сейчас, это когда пользователь выходит из этого Fragment и вводит другой, чтобы убрать этот флаг, чтобы за строкой состояния не было содержимого. Я пытался передать NULL в качестве аргументов setFlags() метод, но это дает ошибку. Я искал remove() или же unSet() методы, но ни один не существует. Так как я должен удалить этот флаг для другого Fragment?

2 ответа

Решение
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

Так как вы используете Fragment -

ты должен пойти на -

getActivtiy().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
Другие вопросы по тегам