你试过用国旗做些SYSTEM_UI_FLAG_FULLSCREEN
什么吗?
由于我不确定您到底在寻找什么,我会尝试给出一个通用的答案,您可以根据您的用例进行调整。我希望它可以帮助某人。
在这里玩不同的标志,看看你需要什么。听上去你可能只需要最后一个标志——除非你也想隐藏导航——那么你可能需要设置最后两个标志。
private void hideSystemUI() {
// Enables regular immersive mode.
// For "lean back" mode, remove SYSTEM_UI_FLAG_IMMERSIVE.
// Or for "sticky immersive," replace it with SYSTEM_UI_FLAG_IMMERSIVE_STICKY
View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_IMMERSIVE
// Set the content to appear under the system bars so that the
// content doesn't resize when the system bars hide and show.
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
// Hide the nav bar and status bar
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
);
}
onWindowFocusChanged( ... )
然后通过像这样覆盖方法来获取并实现这个新方法。
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
hideSystemUI();
}
}
也许您甚至想尝试在应用程序的哪些情况或状态下使用哪些标志添加一些逻辑。
与往常一样,另一个很棒的资源是 Google 的文档。这里有关于控制系统 UI 可见性的好信息。