Проблема с панелью уведомлений в полноэкранном приложении

Я запускаю приложение в полноэкранном режиме, где полноэкранный режим определяется как тема в xml для всего приложения.

<style name="MyAppTheme" parent="android:Theme">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowBackground">@null</item>
</style>

обычно он работает нормально, но в некоторых случаях есть некоторые проблемы:

  1. когда я открываю диалог поиска с помощью кнопки поиска -> скриншот
  2. когда я открываю виджеты spinner, которые очень длинные и заполняют экран (так что список обычно прокручивается) - > скриншот

проблема в том, что когда я открываю диалоговое окно поиска или виджет spinner, панель уведомлений системы происходит в течение нескольких миллисекунд, а затем снова прокручивается с экрана. См. скриншоты, связанные выше.

в настоящее время я на 2.2 с NexusOne, но то же самое произошло на 2.1update1 (esp. случай 2), а также ранее.

2 ответов


единственный способ избежать этого-отключить все анимации в настройках устройства / дисплей / анимация.

Я просто вижу, что это известная ошибка:http://code.google.com/p/android/issues/detail?id=3674


добавьте эту строку кода после создания диалога, но перед setContentView:

Dialog dialog = создать .....

диалог.getWindow().setFlags(поверх.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

диалог.setContentView....