我在colors.xml中定义了一堆颜色。我需要得到他们的int表示而不是他们的资源ID,以便我可以操纵代码中的alpha和颜色。我怎样才能做到这一点?
mColor = R.color.blue; // gets resource id not the actual color as an int.
mColor &= ~0xFF000000;
答案 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表示。