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

来源:互联网 发布:淘宝清关信息在哪补充 编辑:程序博客网 时间:2024/04/26 17:16

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


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系统终端上面运行,比如机顶盒,那么,我想要获得这个确定键的焦点,需要怎么做呢?

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



0 0
原创粉丝点击