关于安卓手机的全屏显示问题

来源:互联网 发布:json 清空 编辑:程序博客网 时间:2024/05/01 14:55

有时候我们在开发一款应用,例如视频播放,游戏等;有的页面需要全屏显示;

这就需要先了解几个概念;

状态栏,系统栏,导航栏;

1;状态栏:

每个安卓设备的ui在规划上都专门有一块区域用于显示时间,电量,wifi信息,通知等信息;在平板电脑出现以前,该空间区域被称为“状态栏”,一半显示在手机的上方

2;系统栏:

在平板电脑出现以后,由于本身硬件原因;因此,Android3.0以后又专门引用了“系统栏”这个概念;一般显示在屏幕底部;该系统栏中包含的内容有通常概念上状态栏显示的内容以及返回按钮和Home按钮的软件实现;

3;在Anzhroid4.0以后,由于平板的使用习惯,(人们通常会使用系统栏中的软件按钮进行导航)安卓在手机端又专门引入了一个“导航栏”的概念,该导航栏包括返回和主页按钮;不过两者不同的是;手机端依旧使用状态栏进行相关信息的显示;导航栏基本只用于导航;

因此;平板上屏幕底部专门有一块区域用于导航栏和状态栏的显示,而手机端导航栏和状态栏是分别位于屏幕的底部和上部区域;

一般情况下;如果想隐藏手机的状态栏的方法;

myView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

getWindow().addFlags(WindowManger.LayoutParams.FLAG_FULLSCREEN);

myView可以指当前activity的任意一个view;

但是不推荐这种方式,这样可能会干扰人们对于手机的使用,所以一般情况下我们会实现一个接口;

myView.setOnSystemUiVisibilityChangeListener(new OnSystemUiVisibilityChangeListener() {

@Override
public void onSystemUiVisibilityChange(int visibility) {

if(visibility==View.SYSTEM_UI_FLAG_VISIBLE){
//进行显示状态和导航栏操作
}else{
//进行隐藏状态和导航栏操作
}
}
});

View里面封装了各种对于导航栏和操作栏的api;隐藏,显示,全屏....













0 0