Android - colors.xml资源为int值

时间:2011-03-10 03:32:14

标签: android resources

我在colors.xml中定义了一堆颜色。我需要得到他们的int表示而不是他们的资源ID,以便我可以操纵代码中的alpha和颜色。我怎样才能做到这一点?

mColor = R.color.blue; // gets resource id not the actual color as an int.
mColor &= ~0xFF000000;

2 个答案:

答案 0 :(得分:15)

Resources的getColor()方法返回0xAARRGGBB格式的颜色;

int color = getResources().getColor(R.color.white); // color is now 0xFFFFFFFF
int alpha = Color.alpha(color);
int red = Color.red(color);
...

答案 1 :(得分:1)

您可以使用:

ContextCompat.getColor(getContext(), R.color.some_color);

返回与特定资源ID关联的颜色的int表示。