使状态栏在Android 11+上完全透明



我想让应用程序statusBar完全透明。我使用了WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS

它正在按我的意愿制造雕像吧。但它也使导航栏在我的内容顶部。我用了很多方法使导航栏不改变,但都失败了。互联网上有很多答案,但没有一个是有效的。如何制作一个完全透明的状态栏,没有黑色阴影,也没有导航栏更改?

我提出这个问题没有得到任何人的帮助。但一个月后,当我制作另一个应用程序时,我得到了这个问题的答案,它只适用于我的应用程序。

getSupportActionBar().hide();

if (Build.VERSION.SDK_INT >= 21) {
Window window = getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.TRANSPARENT);
} else if (Build.VERSION.SDK_INT >= 19) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//Virtual keyboard is also transparent
//getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}

我希望这个代码能正常工作!

最新更新