全屏令人沉浸游戲免受干擾. 收埋頂『狀態』『標題』底『導航』.
- 舊時全屏係『Activity:onCreate()』飛『標題』
requestWindowFeature(Window.FEATURE_NO_TITLE); |
- 飛『狀態』
Window window = getWindow(); |
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); |
- 上述代碼需係『填充布局』前執行
setContentView(R.layout.activity_main); |
- 亦可用『全屏样式』係『xml』
<style name=”Theme.Fullscreen” parent=”android:Theme.NoTitleBar.Fullscreen” /> |
- 係<application>或<activity>加『全屏样式』
<application android:theme=”@style/Theme.Fullscreen” > |
- 因Android『導航』由硬件鍵變成『觸摸屏』軟件鍵, 要飛底『導航』飛頂『狀態』. 即『沉㓎模式』要係4 Kit Kat(API 19).
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) |
- 係『Activity:onCreate()』執行『setSystemUiVisibility()』設置沉浸模式
View decorView = window.getDecorView(); |
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY |
View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_FULLSCREEN); |
- 設置沉浸模式
setSystemUiVisibility() |
簡述 |
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
飛底『導航』 |
View.SYSTEM_UI_FLAG_FULLSCREEN |
飛頂『狀態』 |
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY |
自動恢復『沉㓎模式』 |
View.SYSTEM_UI_FLAG_IMMERSIVE |
『沉㓎模式』 |
- 隨『全面屏』追求係手機頭『鑿窿』裝『相機』. 導置『全面屏』變『兔唇屏 』.即『CUTOUT MODE』要係Androd 9.0 Pie(API 28) 受支持.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { |
- 同係設布局『LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES』
WindowManager.LayoutParams param = window.getAttributes(); |
param.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES; |
window.setAttributes(param);} |
layoutInDisplayCutoutMode |
簡述 |
LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT |
全屏唔延伸至『兔唇 』, 非全屏延伸至『兔唇 』 |
LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER |
WINDOW唔延伸至『兔唇 』 |
LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES |
窻口延伸至『兔唇 』 |