【问题标题】:Change toolbar color from transparent to primary programmatically以编程方式将工具栏颜色从透明更改为主要颜色
【发布时间】:2016-10-09 01:35:12
【问题描述】:

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

【问题讨论】:

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

标签: android android-layout android-toolbar


【解决方案1】:

我认为在您的情况下,您将颜色的资源 ID 作为参数传递给 setBackgroundColor 方法。您想传递颜色实际计算的整数。有多种方法可以做到这一点,具体取决于您拥有的信息(十六进制字符串、rgb 整数值等。查看docs 了解有关定义颜色值的更多信息。

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

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

否则,您必须先以编程方式定义颜色,正如我所提到的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-18
    • 2017-06-02
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多