从顶部向下滑动即可退出全屏,全屏沉浸模式Immersive Full-Screen

   今天调试一个应用的时候,偶然出现了这个东西,好像很厉害的样子,不是很懂,就查了一下资料,自己又写了个小Demo。

从顶部向下滑动即可退出全屏,全屏沉浸模式Immersive Full-Screen_第1张图片

android 4.4 开始新出一个特性叫全屏沉浸模式Immersive Full-Screen 

这个还是很有趣的,怎么实现呢?然后又怎么来控制这个东西呢?请看下文:

		// 每次打开APP都会提示 从顶部向下滑动即可退出全屏
//		getWindow().getDecorView().setSystemUiVisibility(
//				View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
//						| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);

		// 每次打开APP都会提示 从顶部向下滑动即可退出全屏,跟上面不同的是,View.SYSTEM_UI_FLAG_FULLSCREEN属性最好是SDK版本最小为16的情况下运行,
		
		//  除了应用会全屏显示外,好像并没有什么区别
		getWindow().getDecorView().setSystemUiVisibility(
				View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
						| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
						| View.SYSTEM_UI_FLAG_FULLSCREEN);
		
		//第一次安装APK,APK安装完成之后,运行会提示出 从顶部向下滑动即可退出全屏;如果将程序运行在后台,重新打开,则不会显示此提示
//		getWindow().getDecorView().setSystemUiVisibility(
//				View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
//						| View.SYSTEM_UI_FLAG_IMMERSIVE);
		
		//好像并没有什么卵用
		getWindow().getDecorView().setFocusable(false);
		
		
		
		//当前view无法获得触摸焦点
		getWindow().getDecorView().setFocusableInTouchMode(false);
		

View一共有以下几个属性,有兴趣的可以试一试每个属性的作用

      // public static final int SYSTEM_UI_FLAG_LOW_PROFILE = 0x00000001;
// 隐藏导航栏标志
// public static final int SYSTEM_UI_FLAG_HIDE_NAVIGATION = 0x00000002;//
// public static final int SYSTEM_UI_FLAG_FULLSCREEN = 0x00000004;// 全屏标志
// public static final int SYSTEM_UI_FLAG_LAYOUT_STABLE = 0x00000100;
// public static final int SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION =0x00000200;
// public static final int SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN = 0x00000400;
// public static final int SYSTEM_UI_FLAG_IMMERSIVE = 0x00000800;//沉浸标志
// public static final int SYSTEM_UI_FLAG_IMMERSIVE_STICKY = 0x00001000;



   虽然是研究了一下,固然里面东西还是很多的,一直搞不懂,如果在手机上面运行,一切都是正常的。

但是:

  如果我在其他的android系统终端上面运行,比如机顶盒,那么,我想要获得这个确定键的焦点,需要怎么做呢?

抛出这个问题,希望看到的人,帮忙解答一下,很感谢!



你可能感兴趣的:(全屏沉浸模式,android)