2011-10-06 82 views
0

我试着调暗的片段在屏幕底部的状态栏,然后当片段消失再次显示它。这里的代码:如何朦胧状态栏的片段

@Override 
public void onPause() 
{ 
    super.onPause(); 
    getActivity().getActionBar().show(); 
    getView().setSystemUiVisibility(View.STATUS_BAR_VISIBLE); 
} 

@Override 
public void onStart() 
{ 
    super.onStart(); 
    getActivity().getActionBar().hide(); 
    getView().setSystemUiVisibility(View.STATUS_BAR_HIDDEN); 
} 

如果用户启动我的片段,它的工作原理。它变暗正确。但是,如果他们击中“后退”,似乎状态栏再次正确显示,但在一瞬间之后,它自己再次变暗。有没有人看到过这种行为?我认为系统在状态栏上自动执行某些操作,但我无法弄清楚它是什么。如果我拿出电话来显示状态栏,但如果用户退后,它仍然通过itseft显示它,但是稍后一秒钟,它会再次变暗。

+0

无法重复您的问题。此外,您不需要在onStart/onPause中隐藏/取消隐藏,它足以隐藏在onCreate中,Android会知道您的应用何时处于非活动状态并管理隐藏/调暗本身。 –

回答

2

我有同样的问题。我认为问题在于我没有在主要内容视图中设置可见性。我最终从HoneycombGallery的ContentFragment.java复制了代码,并最终为我工作。