2011-03-10 39 views
6

我在colors.xml中定義了一堆顏色。我需要得到他們的int表示不是他們的資源ID,以便我可以操縱我的代碼中的alpha和顏色。我怎樣才能做到這一點?Android - colors.xml資源爲int值

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

回答

16

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

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

完美和顏色。功能將派上用場。 – Mark 2011-03-10 03:55:14

+4

android.content.res.Resources沒有靜態方法'getColor'。你的意思是'getResources()。getColor()'? – azdev 2011-09-15 04:09:04

+1

getColor()已被棄用 – fnc12 2015-12-17 11:14:26

1

您可以使用:

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

此方法返回一個特定的資源ID相關聯的顏色的整型表示。