【问题标题】:In Android How do I change colour of status bar transparent as shown in bellow photograph [duplicate]在Android中,如何更改状态栏透明的颜色,如下图所示[重复]
【发布时间】:2018-08-10 13:31:07
【问题描述】:

我可以在我的应用中像这样更改状态栏颜色吗?

【问题讨论】:

  • 1 2 3 4
  • I've seven years of android exp。 Tbh,如果你有你就不会问这个问题。 Do not show your foolishness in public。剪掉个人言论。 How can you say I've not made any attempt? 你还没有展示你的任何尝试。我不会在此线程中回复您的任何 cmets。祝你的项目好运

标签: java android


【解决方案1】:

是的,您可以更改它的颜色,但我不确定将其更改为透明是否会达到您想要的效果

public static void setStatusBarColor(Activity activity, int color){
    Window window = activity.getWindow();
    window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    window.setStatusBarColor(ContextCompat.getColor(activity, color));
}

【讨论】:

    【解决方案2】:

    你可以这样做-:

    private void changeStatusBarColor() {
    
            Window window = this.getWindow();
    // clear FLAG_TRANSLUCENT_STATUS flag:
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
                window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            }
    // add FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS flag to the window
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            }
    // finally change the color
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                window.setStatusBarColor(ContextCompat.getColor(this, R.color.colorPrimaryDark));
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2023-01-13
      • 1970-01-01
      • 2018-06-28
      • 2021-06-26
      • 1970-01-01
      • 1970-01-01
      • 2021-10-13
      • 1970-01-01
      • 2018-02-18
      相关资源
      最近更新 更多