2011-03-10 13 views
6

Mam kilka kolorów zdefiniowanych w colors.xml. Muszę uzyskać ich reprezentację int, a nie ich identyfikator zasobu, aby móc manipulować alfą i kolorami w moim kodzie. Jak mogę to zrobić?Android - zasób colors.xml do wartości int

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

Odpowiedz

16

getColor() metoda Zasobów zwraca kolor w formacie 0xAARRGGBB;

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

Doskonały i kolor. funkcje przydadzą się. – Mark

+4

android.content.res.Resources nie ma statycznej metody 'getColor'. Czy chodziło Ci o 'getResources(). GetColor()'? – azdev

+1

getColor() jest przestarzałe – fnc12

1

Można użyć:

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

ta zwraca int reprezentacji koloru związanego z danym ID zasobów.

Powiązane problemy