1、将状态栏和导航栏变变暗
在Android 4.0(API 14)以及更高的版本中,提供了一些将状态栏和导航栏变暗的方法,低版本没有提供相应的方法。
代码如下:
// This example uses decor view, but you can use any visible view.
View decorView = getActivity().getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_LOW_PROFILE;
decorView.setSystemUiVisibility(uiOptions);
设置将状态栏和导航栏变暗之后,实际上还是能看到的,但是隐藏了一些细节,当点击状态栏或者导航栏的时候,这个flag就会被清除,你的app就需要重新设置这个flag
View decorView = getActivity().getWindow().getDecorView();
// Calling setSystemUiVisibility() with a value of 0 clears
// all flags.
decorView.setSystemUiVisibility(0);
2、隐藏StatusBar
隐藏状态栏可以让app的内容使用更多的空间,可以给人一种更加沉浸式的用户体验
图一:有状态栏的
图二:没有状态栏的:
注意:当statusbar被隐藏的时候,action bar也会被隐藏
在Android 4.0及以下系统中隐藏status bar
在4.0(API 14)及以下的版本中,你可以通过设置WindowManager flags来隐藏状态栏。你可以通过代码或者配置manifest文件中的activity的主题来实现。如果你的状态栏需要一直隐藏,最好使用在清单文件中配置activity的主题方式,当然了,你也 可以通过代码的方式来覆盖配置的主题,例如:
<application
...
android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen" >
...
</application>
通过配置配置activity主题的优势有:
1、更易维护,更少出错
2、它会导致更加平滑的过渡,因为系统会在实例化主activity之前渲染UI