關於activity的全屏顯示

通常狀況下,咱們實現activity的全屏顯示,能夠在manifest裏直接設置屬性android

android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"

這通常狀況下並不能徹底實現全屏顯示,狀態欄跟導航欄可能還遮擋不住。ide

要真正實現全屏,通常是在oncreat或者onresume裏設置如下flag參數。ui

也叫沉浸式全屏,在遊戲或者視頻類頁面是必需要實現沉浸式的spa

參數設置:.net

 
private void setScreenArrts() {
if (android.os.Build.VERSION.SDK_INT < 14) {
return;
}
try {
SinkLog.i(TAG, "setScreenArrts HIDE_NAVIGATION");
//設置這些參數,有可能誰彈出系統提示「從頂部往下退出全屏模式」
mActivity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
} catch (Exception e) {
SinkLog.w(TAG, e);
}
}
或者
private void setPuppyScreenArrts() {
if (android.os.Build.VERSION.SDK_INT < 14) {
return;
}
try {
SinkLog.i(TAG, "setPuppyScreenArrts HIDE_NAVIGATION");
mActivity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
mActivity.getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
@Override
public void onSystemUiVisibilityChange(int visibility) {
SinkLog.i(TAG, "setPuppyScreenArrts ---");
mActivity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
mActivity.getWindow().getDecorView().requestFocus();
}
});
} catch (Exception e) {
SinkLog.w(TAG, e);
}
}

這樣的效果只能在android5.0以上的系統才能支持視頻

 

問題總結:blog

一、這個寫全屏屬性在android14及以上才能用。遊戲

二、在android6以上系統,應用須要設置targetSdkVersion=24以上才能生效ci

我遇到的問題是,同一個應用,在android6能夠全屏,在android8不行,單獨寫demo看,這寫參數設置應該都是正確的,demo在兩個設備都生效,最後才發現,demo都targetSdkVersion=28get

 

參考

https://blog.csdn.net/guolin_blog/article/details/51763825

相關文章
相關標籤/搜索