1

在某些时候,我的 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”。

我的布局对象的原点 (0,0)现在位于发音器下方。因此,我的应用程序视图的前 15 个左右像素都被enunciator/cell signal/battery bar覆盖了。

有没有其他人看到这个问题?
是否有一个我缺少的标志可以在不将我的应用程序推到顶部栏中的情况下恢复纵向/非全屏?

4

1 回答 1

0

只是从之前的帖子中找到解决方案在全屏模式下隐藏标题?

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();
}
于 2011-02-08T17:03:44.447 回答