Actionbar背景颜色按比例变化

时间:2015-05-24 17:30:36

标签: android colors android-actionbar scale

我使用此代码更改了与appcompat lib一起使用的操作栏颜色:

unique_ptr<Widget> wid(new Widget);
wid->show();

但在使用颜色变化和不同的屏幕尺寸颜色是不同的。 我不想用棘手的方式清理原始问题。我该如何解决?

谢谢

1 个答案:

答案 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));