以编程方式将工具栏颜色从透明更改为主要

时间:2016-10-09 01:35:12

标签: android android-layout android-toolbar

From these answers, I suppose I know how to grab the primary color。但是,当我尝试设置工具栏的背景颜色时,我一直异常认为找不到我指定的颜色的resourceId

android.content.res.Resources$NotFoundException: Resource ID ...

我试过了

toolbar.setBackgroundResource(primaryColor);

我试过

toolbar.setBackgroundColor(primaryColor);

1 个答案:

答案 0 :(得分:0)

我认为在您的情况下,您将颜色的资源ID作为参数传递给setBackgroundColor方法。您想要传递颜色实际评估的整数。根据您拥有的信息(十六进制字符串,rgb整数值等),有多种方法可以执行此操作。有关定义颜色值的详细信息,请查看docs

假设您的颜色是在colors.xml文件夹的res/values中定义的,那么您应该可以使用它:

toolbar.setBackgroundColor(ContextCompat.getColor(this, R.color.primaryColor);

否则,您必须首先按照我提到的方式以编程方式定义颜色。