如何更改状态栏颜色?我正在用5.0构建,我的目标sdk是21,这段代码不起作用…

setContentView(R.layout.main_activity);
if (Build.VERSION.SDK_INT >= 21){
    try {
        getWindow().setStatusBarColor(Color.RED);

    } catch (Exception e) {
        e.printStackTrace();
    }
}

最佳答案

Documentation说到setStatusBarColor方法
“要使其生效,窗口必须绘制系统栏
带标志的背景绘制系统背景条和
不能设置标志透明状态。”
所以对我来说,这是可行的(注意代码中的“addflags”行):

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        getWindow().setStatusBarColor(Color.RED);
    }

关于android - setStatusBarColor不工作[Lollipop],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26979298/

10-09 08:01