Android 11 (API 30) 中的导航栏不完全透明

问题描述

由于 getwindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); 在 Android API 30 中不起作用。我尝试了此 tutorial 中的另一个代码

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            getwindow().getDecorView().setsystemUIVisibility(View.SYstem_UI_FLAG_LAYOUT_STABLE | View.SYstem_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
            getwindow().setNavigationBarColor(Color.TRANSPARENT);
        }

但是导航栏不是完全透明的 (img),就像在 Google 应用中一样。 如何实现完全透明的导航栏?

解决方法

因为它经常出现,你自己找到了解决方案。
我在此 tutorial 中找到了解决方案。
您只需要通过主题中的此代码 <item name="android:enforceNavigationBarContrast">false</item> 禁用自动系统内容保护。