讓Android程序全屏的方法,大家都知道,那是靜態的,程序運行之初就申明了。但是如果有這樣的需求:要在程序運行的過程中,執行了某個操作而使之全屏,然後還需要退出全屏,怎麼做?
如下:
- WindowManager.LayoutParams attrs = getWindow().getAttributes();
- attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
- getWindow().setAttributes(attrs);
- getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
修改window的LayoutParams參數,然後加上FLAG_LAYOUT_NO_LIMITS標志,就OK了。window會自動重新布局,呈現全屏的狀態。
要退出全屏,只需要清除剛才加上的FLAG_FULLSCREEN參數,然後去掉FLAG_LAYOUT_NO_LIMITS標志。
如下:
- WindowManager.LayoutParams attrs = getWindow().getAttributes();
- attrs.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);
- getWindow().setAttributes(attrs);
- getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);