2011-03-10 9 views
6

colors.xmlに色の束が定義されています。私は自分のコードでアルファと色を操作できるように、自分のリソースIDではなくint表現を取得する必要があります。これどうやってするの?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

+4

android.content.res.Resourcesには静的メソッド 'getColor'がありません。 'getResources()。getColor()'を意味しましたか? – azdev

+1

getColor()は推奨されていません – fnc12

1

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

これは、特定のリソースIDに関連付けられた色のint型の表現を返します。

関連する問題