实现Android界面全屏展示

在实际Android开发过程中,隐藏标题栏,甚至是华为等系列的虚拟按键,可以让界面看起来更加清爽一点,那么怎么隐藏那些对于用户来说,无用的区域呢?网上搜一下,一堆教程,这里介绍我成功的一种。创建BaseActivity类,继承Activity,里面具体重写方法这里就不贴了。增加fullScreenDisplay方法,代码如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
* 实现全屏显示
*/
private void fullScreenDisplay() {
if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) {
View v = this.getWindow().getDecorView();
v.setSystemUiVisibility(View.GONE);
} else if (Build.VERSION.SDK_INT >= 19) {
//for new api versions.
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
}
}

接着在onCreate()和onResume()中分别调用该方法,这样就可以实现屏幕全屏了。比如你想让首屏界面全屏展示,创建SplashActivity,继承BaseActivity,这样首屏界面就能全屏展示了。当然里面还是需要修改些东西的,这里参考一下怎么设置首屏界面即可,这里可以参考该文章。那其他比如MainActivity继承了BaseActivity,在其他手机看背景界面啥的都是全屏,但是荣耀手机上面出现了一个奇怪的问题,就是一启动app,上方标题栏是显示的,而且显示的是全白色,没有任何东西,不用虚,直接在MainActivity这样设置即可。这样问题就解决了。

1
2
3
4
5
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN , WindowManager.LayoutParams. FLAG_FULLSCREEN);
...
}