如何解决通过操作栏顶部的代码更改颜色
是否可以更改操作栏上部的颜色?如图所示
解决方法
是的,可以。正如@CommonsWare所说,您可以通过编辑样式资源文件中的colorPrimaryDark
项目来更改 StatusBar 的颜色。
Screenshot of what it looks like in Android Studio
要通过Java代码更改 StatusBar 颜色,您可以将以下代码添加到活动中。请注意,Android设备必须在API 21
或更高版本上运行。
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(getResources().getColor(R.color.darkPurple));
}
此外,如果您想更改 StatusBar 的前景文本,只需将以下代码添加到if
块中。请注意,Android设备必须在API v23
或更高版本上运行。
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
// for a black color foreground text:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
// for a white color foreground text,just replace setSystemUiVisibility param with ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
}
,
首先,这是状态栏,而不是操作栏。但是,如果要通过语法更改状态栏颜色,则可以使用Window.setStatusBarColor()
。但是设备应具有android 5.0
。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.BLUE);
}
应该为您工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。