【转】Android实现系统状态栏的隐藏和显示功能
问题描述
尤其视频类APP,需要实现切换到横屏后,隐藏系统状态栏,全屏显示,以实现看更大画面的视频。当切换回
竖屏后,又显示状态栏。那么如何实现呢?
网上流传着很多种做法
比如
1、在AndroidManifest.xml
文件中修改theme
为
1
| android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
|
2、在setContentView
方法前执行如下代码:
1 2
| requestWindowFeature(Window.FEATURE_NO_TITLE) getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
3、通过View
的setSystemUiVisibility
方法
4、通过如下代码实现状态栏的隐藏和显示:
1 2
| getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN) getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN)
|
在我的项目中是要实现如下需求:在当前Activity
中,切换到横屏后,不能销毁Activity
再重新初始化,并且实现隐藏系统状态栏,全屏显示;当切换回竖屏后,又显示状态栏。另外,我不需要隐藏标题栏。