Android动态全屏与退出全屏


让Android程序全屏的方法,大家都知道,那是静态的,程序运行之初就申明了。但是如果有这样的需求:要在程序运行的过程中,执行了某个操作而使之全屏,然后还需要退出全屏,怎么做?

如下:

  1. WindowManager.LayoutParams attrs = getWindow().getAttributes();     
  2. attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;     
  3. getWindow().setAttributes(attrs);     
  4. getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);  

修改window的LayoutParams参数,然后加上FLAG_LAYOUT_NO_LIMITS标志,就OK了。window会自动重新布局,呈现全屏的状态。

要退出全屏,只需要清除刚才加上的FLAG_FULLSCREEN参数,然后去掉FLAG_LAYOUT_NO_LIMITS标志。

如下:

  1. WindowManager.LayoutParams attrs = getWindow().getAttributes();     
  2. attrs.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);     
  3. getWindow().setAttributes(attrs);     
  4. getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);    

相关内容