2011-03-10 6 views
6

Ho un mucchio di colori definiti nel colors.xml. Ho bisogno di ottenere la loro rappresentazione int non il loro id risorsa in modo da poter manipolare l'alfa e i colori nel mio codice. Come posso fare questo?Android: da colors.xml a valore int.

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

risposta

16

Il metodo delle Risorse getColor() restituisce il colore in formato 0xAARRGGBB;

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

Perfetto e il colore. le funzioni saranno utili. – Mark

+4

android.content.res.Resources non ha un metodo statico 'getColor'. Intendevi 'getResources(). GetColor()'? – azdev

+1

getColor() è deprecato – fnc12

1

È possibile utilizzare:

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

Questo restituisce la rappresentazione int del colore associato a un particolare ID di risorsa.