Удалить FLAG_TRANSLUCENT_STATUS во время выполнения
У меня есть MainActivity
с большим количеством Fragment
s и в одном конкретном фрагменте я хочу нарисовать за системной панелью, поэтому я применяю во время выполнения следующий флаг:
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);