【问题标题】:Android Window flag FLAG_TRANSLUCENT_STATUS is deprecated now, How to fix this?Android 窗口标志 FLAG_TRANSLUCENT_STATUS 现在已弃用,如何解决这个问题?
【发布时间】:2021-08-19 06:46:12
【问题描述】:

我尝试如下动态更新状态栏,但收到警告标志 FLAG_TRANSLUCENT_STATUS 现在已被弃用,我该如何解决这个问题?

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

        // clear FLAG_TRANSLUCENT_STATUS flag:
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

        // add FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS flag to the window
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);

        // finally change the color
        getWindow().setStatusBarColor(ContextCompat.getColor(this, color));
}

【问题讨论】:

    标签: android android-studio android-statusbar


    【解决方案1】:

    我花了太多时间来得到正确的答案,因为我的状态栏颜色也有错误。如果有人有同样的问题,我会把答案放在这里。

    您需要将状态栏颜色设置为透明,就像在代码中使用最后一个构建版本作为“if”语句一样,这是肯定的。 但是,您还需要在根视图中设置此布局属性。

    android:fitsSystemWindows="false"
    

    希望这将帮助您解决 Android 30 中的状态栏错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-10
      • 2018-01-30
      • 2021-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-21
      相关资源
      最近更新 更多