|
@@ -59,44 +59,41 @@ public class SteamControlActivity extends DefaultLayoutActivity {
|
|
|
@Override
|
|
@Override
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
super.onCreate(savedInstanceState);
|
|
super.onCreate(savedInstanceState);
|
|
|
-
|
|
|
|
|
- // 设置全屏模式,隐藏系统UI
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 设置全屏模式,但保留导航栏手势区域
|
|
|
getWindow().setFlags(
|
|
getWindow().setFlags(
|
|
|
- android.view.WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
|
|
|
|
- android.view.WindowManager.LayoutParams.FLAG_FULLSCREEN
|
|
|
|
|
|
|
+ android.view.WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
|
|
|
|
+ android.view.WindowManager.LayoutParams.FLAG_FULLSCREEN
|
|
|
);
|
|
);
|
|
|
-
|
|
|
|
|
- // 隐藏导航栏和状态栏,并设置布局标志
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 设置系统UI可见性,隐藏状态栏但保留导航栏手势区域
|
|
|
View decorView = getWindow().getDecorView();
|
|
View decorView = getWindow().getDecorView();
|
|
|
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN
|
|
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN
|
|
|
- | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
|
|
|
|
- | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
|
|
|
|
|
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
|
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
|
|
- | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
|
|
|
|
- | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
|
|
|
|
|
|
|
+ | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
|
|
|
|
+ | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
|
|
|
decorView.setSystemUiVisibility(uiOptions);
|
|
decorView.setSystemUiVisibility(uiOptions);
|
|
|
-
|
|
|
|
|
- // 监听系统UI可见性变化,确保始终保持全屏
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 监听系统UI可见性变化,确保不会强制隐藏导航栏
|
|
|
decorView.setOnSystemUiVisibilityChangeListener(visibility -> {
|
|
decorView.setOnSystemUiVisibilityChangeListener(visibility -> {
|
|
|
|
|
+ // 只处理状态栏的显示,不处理导航栏
|
|
|
if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
|
|
if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
|
|
|
- decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
|
|
|
|
- | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
|
|
|
|
- | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
|
|
|
|
- | View.SYSTEM_UI_FLAG_FULLSCREEN
|
|
|
|
|
- | View.SYSTEM_UI_FLAG_IMMERSIVE
|
|
|
|
|
- | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
|
|
|
|
|
|
|
+ decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
|
|
|
|
+ | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
|
|
|
|
+ | View.SYSTEM_UI_FLAG_FULLSCREEN
|
|
|
|
|
+ | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 设置窗口背景为黑色,确保没有透明区域
|
|
// 设置窗口背景为黑色,确保没有透明区域
|
|
|
getWindow().setBackgroundDrawable(new android.graphics.drawable.ColorDrawable(android.graphics.Color.BLACK));
|
|
getWindow().setBackgroundDrawable(new android.graphics.drawable.ColorDrawable(android.graphics.Color.BLACK));
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 强制设置窗口布局参数,确保完全全屏
|
|
// 强制设置窗口布局参数,确保完全全屏
|
|
|
android.view.WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
|
|
android.view.WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
|
|
|
layoutParams.flags |= android.view.WindowManager.LayoutParams.FLAG_FULLSCREEN;
|
|
layoutParams.flags |= android.view.WindowManager.LayoutParams.FLAG_FULLSCREEN;
|
|
|
layoutParams.flags |= android.view.WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS;
|
|
layoutParams.flags |= android.view.WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS;
|
|
|
getWindow().setAttributes(layoutParams);
|
|
getWindow().setAttributes(layoutParams);
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 添加直播状态显示的UI元素
|
|
// 添加直播状态显示的UI元素
|
|
|
addLiveStatusView();
|
|
addLiveStatusView();
|
|
|
|
|
|
|
@@ -107,20 +104,19 @@ public class SteamControlActivity extends DefaultLayoutActivity {
|
|
|
bindMqttService();
|
|
bindMqttService();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
protected void onResume() {
|
|
protected void onResume() {
|
|
|
super.onResume();
|
|
super.onResume();
|
|
|
-
|
|
|
|
|
- // 重新应用全屏设置,确保没有黑边
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 重新应用全屏设置,但保留导航栏手势区域
|
|
|
View decorView = getWindow().getDecorView();
|
|
View decorView = getWindow().getDecorView();
|
|
|
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN
|
|
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN
|
|
|
- | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
|
|
|
|
- | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
|
|
|
|
|
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
|
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
|
|
- | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
|
|
|
|
- | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
|
|
|
|
|
|
|
+ | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
|
|
|
|
+ | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
|
|
|
decorView.setSystemUiVisibility(uiOptions);
|
|
decorView.setSystemUiVisibility(uiOptions);
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 重新设置窗口参数
|
|
// 重新设置窗口参数
|
|
|
android.view.WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
|
|
android.view.WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
|
|
|
layoutParams.flags |= android.view.WindowManager.LayoutParams.FLAG_FULLSCREEN;
|
|
layoutParams.flags |= android.view.WindowManager.LayoutParams.FLAG_FULLSCREEN;
|
|
@@ -128,6 +124,7 @@ public class SteamControlActivity extends DefaultLayoutActivity {
|
|
|
getWindow().setAttributes(layoutParams);
|
|
getWindow().setAttributes(layoutParams);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 添加直播状态显示的UI元素
|
|
* 添加直播状态显示的UI元素
|
|
|
*/
|
|
*/
|