2009-12-21 23 views
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个像素由发声器/单元信号/电池条覆盖。

有没有其他人看到过这个问题?
有没有一个标志,我失踪了,将恢复肖像/非全屏没有推我的应用程序到顶部栏?

+0

什么是发声酒吧的解决方案? – 2010-04-14 15:12:21

+0

有些人会称之为通知栏或电池/电池信号强度条。 – haseman 2010-04-15 16:29:46

回答

0

只要找到这从以前的帖子Hiding Title in a Fullscreen mode?

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(); 
}