【问题标题】:Change XML Color to Drawable将 XML 颜色更改为可绘制
【发布时间】:2017-01-20 10:48:14
【问题描述】:

我想将以下 XML 的颜色更改为图像。所以我想要图片的mebubah颜色。我该怎么办?

XML:

<color name="spring_loaded_panel_color">#50e602ee</color>

【问题讨论】:

  • 请输入您的代码。你的意思是ImageView
  • 欢迎来到 Stack Overflow!为了给您一个很好的答案,如果您还没有看过How to Ask,它可能会对我们有所帮助。如果您可以提供minimal reproducible example,它可能也很有用。
  • 欢迎@Chocolate,请提供正确的信息。

标签: android xml colors drawable


【解决方案1】:

您不能在运行时更改 xml 颜色。但是你可以在运行时创建 Drawable 并且你可以改变颜色。

【讨论】:

    【解决方案2】:

    您可以创建一个 ColorDrawable。

    ColorDrawable cd = new ColorDrawable(YOUR_COLOR_HERE);
    

    在这里您可以使用以下资源从资源中获取颜色:

    ContextCompat.getColor(getApplicationContext(), R.color.yourColor)
    

    您的最终代码可能如下所示:

    ColorDrawable cd = new ColorDrawable(ContextCompat.getColor(getApplicationContext(), R.color. spring_loaded_panel_color));
    

    【讨论】: