如何更改状态栏颜色?我用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();
}
}
Run Code Online (Sandbox Code Playgroud)
关于setStatusBarColor方法的文档说明了
"要使此操作生效,窗口必须使用FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS绘制系统栏背景,并且不得设置FLAG_TRANSLUCENT_STATUS."
所以对我来说,这很有用(请注意代码中的"addFlags"行):
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
getWindow().setStatusBarColor(Color.RED);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3990 次 |
| 最近记录: |