2015-02-17 9 views
2

В моем приложении для Android у меня есть строка состояния, накладываемая поверх содержимого приложения. Всякий раз, когда я вхожу в полноэкранный режим, строка состояния мгновенно изменяется от текущего цвета до полупрозрачного, а затем значки состояния отображаются с экрана. Я бы хотел, чтобы строка состояния не стала прозрачной, а вместо этого просто сохранила один и тот же цвет и вышла из экрана с помощью значков.Фон состояния состояния Android исчезает при переходе в полноэкранный режим

Вот код, я использую, чтобы перейти в полноэкранный:

int flags = View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE; 
getWindow().getDecorView().setSystemUiVisibility(flags); 

Этот вопрос только кажется, произойдет по темам леденец. Если я переключусь с темы «Материал» на тему «Голо», строка состояния оживет правильно.

Кто-нибудь еще испытывает это?

ответ

1

Я смог получить полупрозрачную панель состояния, когда я вхожу в полноэкранный режим, установив flag_translucent_status. В документации указано, что он не должен быть установлен, если вы пытаетесь установить цвет строки состояния, если у вас FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS. Не идеальное решение и установка этого флага также устанавливает SYSTEM_UI_FLAG_LAYOUT_STABLE и SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN.

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 

http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_TRANSLUCENT_STATUS

Смежные вопросы