【问题标题】:Navigation bar is not fully transparent in Android 11 (API 30)Android 11 (API 30) 中的导航栏不完全透明
【发布时间】:2021-01-28 16:39:41
【问题描述】:

由于 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 应用中一样。 如何实现完全透明的导航栏?

【问题讨论】:

    标签: android android-navigation-bar


    【解决方案1】:

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

    【讨论】:

    • 这是我的问题的解决方案,非常感谢,这是我对您的问题和回答的赞成票。请接受此答案作为已接受的答案,因为它解决了问题
    • 没有设置透明导航栏,而是更改了状态栏的颜色。
    • @CoolMind,也许你混淆了一些东西。上面的代码只是通过此代码<item name="android:enforceNavigationBarContrast">false</item> 在 NavigationBar 上禁用 Android 10+ 上的系统内容保护,它对 StatusBar 没有影响。虽然,有代码可以做同样的事情,但使用 StatusBar <item name="android:enforceStatusBarContrast">false</item>
    • @CoolMind,阅读更多关于它的信息here
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-27
    • 2018-03-05
    • 2021-02-26
    • 2022-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多