操作栏背景颜色按比例变化
Actionbar background color changes on scale
我使用此代码更改了与 appcompat lib 一起使用的操作栏颜色:
actionBar.setBackgroundDrawable(new ColorDrawable(R.color.teleblue));
但在使用中颜色会发生变化,并且在不同的屏幕尺寸下颜色是不同的。
我不想用棘手的方法来清理原来的问题。我该如何解决?
谢谢
R.color.teleblue
是资源标识符而不是 #AARRGGBB
颜色。
取决于类型 actionBar
以下某些选项可能可用也可能不可用:
actionBar.setBackgroundResource(R.color.teleblue); // if it's Toolbar
actionBar.setBackgroundDrawable( // if it's ActionBar
new ColorDrawable(
actionBar.getThemedContext().getResources().getColor(R.color.teleblue));
actionBar.setBackgroundDrawable( // if it's ActionBar
ContextCompat.getDrawable(
actionBar.getThemedContext(),
R.color.teleblue));
actionBar.setBackgroundDrawable( // if it's Toolbar
ContextCompat.getDrawable(
actionBar.getContext(),
R.color.teleblue));
我使用此代码更改了与 appcompat lib 一起使用的操作栏颜色:
actionBar.setBackgroundDrawable(new ColorDrawable(R.color.teleblue));
但在使用中颜色会发生变化,并且在不同的屏幕尺寸下颜色是不同的。 我不想用棘手的方法来清理原来的问题。我该如何解决?
谢谢
R.color.teleblue
是资源标识符而不是 #AARRGGBB
颜色。
取决于类型 actionBar
以下某些选项可能可用也可能不可用:
actionBar.setBackgroundResource(R.color.teleblue); // if it's Toolbar
actionBar.setBackgroundDrawable( // if it's ActionBar
new ColorDrawable(
actionBar.getThemedContext().getResources().getColor(R.color.teleblue));
actionBar.setBackgroundDrawable( // if it's ActionBar
ContextCompat.getDrawable(
actionBar.getThemedContext(),
R.color.teleblue));
actionBar.setBackgroundDrawable( // if it's Toolbar
ContextCompat.getDrawable(
actionBar.getContext(),
R.color.teleblue));