我使用此代码更改了与appcompat lib一起使用的操作栏颜色:
unique_ptr<Widget> wid(new Widget);
wid->show();
但在使用颜色变化和不同的屏幕尺寸颜色是不同的。 我不想用棘手的方式清理原始问题。我该如何解决?
谢谢
答案 0 :(得分:1)
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));