如何将R.color转换为Color?

2022-09-03 00:45:26

Android有2种类型的颜色:R.colorcolor Layout使用(我需要R.colorholo_blue_light: 17170450 (0x01060012))

但是函数(如 setColor()) 具有其他类型的输入 int(即 )。CYAN: -16711681 (0xff00ffff)

否定返回不正确的颜色。我该怎么做才能转换它们?R.color


答案 1

由于现已弃用,因此您可以使用:getResources().getColor

ContextCompat.getColor(getResources(), R.color.idOfColour)

旧答案

 getResources().getColor(R.color.idOfColour);

它返回您要查找的颜色。如果颜色附带Android,您可以获取其IDintandroid.R.color.colourId


答案 2
  1. 来自您通过的资源的颜色

    getResources().getColor(R.color.color_id);

  2. 您从视图中保存的颜色(例如背景色或文本颜色),这看起来像您的第二个示例,您可能会通过

Color.parseColor(String color)