我在Android开发领域还很陌生。在我的应用程序中,我使用的类是我所有活动的一部分。它允许我定义所有应用程序都将处于全屏模式。
这是此类的代码:
package com.retroverse.bataille_corse;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
public class FullScreenActivity extends AppCompatActivity {
@Override
protected void onResume() {
super.onResume();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_FULLSCREEN);
}
}
}
全屏模式非常理想,除非在非常特殊的情况下。当我进入应用程序时,我按导航栏的“主页”按钮,然后单击导航栏上的“应用程序菜单”按钮以恢复该应用程序(仅像这样)。仍处于打开状态的应用程序)并恢复该应用程序,通知栏在不应该出现的时候再次出现(只有它,导航栏永远不会有任何问题)...但是当我更改活动时它会消失。
这是一个更好理解的视频:https://drive.google.com/open?id=1FPoADemhLcPfxnohQdfYOpb6wkxQTx5q
我也尝试添加
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LOW_PROFILE
但是它并没有改变任何东西(除了我真的不知道这两个视图的用途是什么...
我真的需要帮助,谢谢!
您可以通过转到每个活动来删除状态栏,并在OnCreate方法中进行设置:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.your_layout);
}