【问题标题】:Making status bar fully transparent on Android 11+在 Android 11+ 上使状态栏完全透明
【发布时间】:2022-12-21 13:57:06
【问题描述】:

我想让应用程序状态栏完全透明。我用了WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS

它正在按照我的意愿制作 statusBar。但它也使导航栏位于我的内容之上。我用了很多方法让导航栏不变化都失败了。网上有很多答案,但没有一个有效。如何制作一个没有黑色阴影且没有navigationBar变化的全透明statusBar?

【问题讨论】:

    标签: java android android-studio android-statusbar


    【解决方案1】:

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

    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);
        }
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-27
      • 2020-04-15
      • 2023-03-29
      • 1970-01-01
      • 2022-08-09
      • 2021-02-26
      • 2022-11-28
      相关资源
      最近更新 更多