enunciator / панель уведомлений конфликтует с пользовательским представлением? - PullRequest
1 голос
/ 21 декабря 2009

Моему Android-приложению в какой-то момент приходится переключаться в режим альбомная без панели запуска для отображения экрана, который занимает всю высоту и ширину дисплея. Я делаю это по телефону

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)

и вызывая "setFlags" для объекта Window, передавая "WindowManager.LayoutParams.FLAG_FULLSCREEN"

Когда я возвращаюсь в портретный режим и восстанавливаю панель оповещателя, используя setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)

и установка флагов "WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN" и "WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR".

Источник моего макета origin (0,0) теперь под enunciator. Таким образом, первые 15 или около того пикселей моего приложения покрываются сигнализатором / сигналом ячейки / индикатором батареи .

Кто-нибудь еще видел эту проблему?
Есть ли пропущенный флаг, который восстановит портрет / не полный экран , не поднимая мое приложение в верхнюю панель?

1 Ответ

0 голосов
/ 08 февраля 2011

Просто найдите решение из предыдущего поста Скрытие заголовка в полноэкранном режиме?

private void updateFullscreenStatus(bUseFullscreen)
{   
   if(bUseFullscreen)
   {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR);
    }
    else
    {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR);
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }

    m_contentView.requestLayout();
}
...