Android應用程序中,爲了美觀或者特殊需要,有時需要全屏,這裏介紹一些方法,
下面的方法是Activity剛開始創建,就設置爲全屏,先看示例代碼,再看看代碼的作用。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
setContentView(R.layout.activity_main);
}
1. 保存屏幕常亮
調用下面的方法,是爲了保持屏幕常亮
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
2. 全屏的參數設置
2.1 隱藏狀態欄
SYSTEM_UI_FLAG_FULLSCREEN:狀態欄消失,狀態欄的layout還在;
SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:狀態欄消失,狀態欄的layout也不再佔用屏幕空間;
2.2 隱藏導航鍵
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:導航鍵消失不見,但是導航鍵的位置依然佔用原來的屏幕空間;
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:導航鍵消失不見,同時導航鍵的layout也不再佔用屏幕空間;
3.3 隱藏程序的標題欄,下面2個參數,可以使標題欄消失
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
通過上面的設置,程序啓動後,就可以看到程序全屏了。但是當從屏幕最上方下滑屏幕,或者從屏幕最下方上滑屏幕,狀態欄和導航鍵還是會出現,不知道有沒有辦法在這種情況下也不讓狀態欄和導航鍵出來。