2011-03-10 40 views
6

Tôi có một loạt các màu được xác định trong tệp colors.xml. Tôi cần để có được đại diện int của họ không phải id tài nguyên của họ để tôi có thể thao tác alpha và các màu sắc trong mã của tôi. Tôi có thể làm cái này như thế nào?Android - tài nguyên colors.xml giá trị int

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

Trả lời

16

Phương thức tài nguyên trả về màu ở định dạng 0xAARRGGBB;

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

Hoàn hảo và màu. chức năng sẽ có ích. – Mark

+4

android.content.res.Resources không có phương thức tĩnh 'getColor'. Ý của bạn là 'getResources(). GetColor()'? – azdev

+1

getColor() không được chấp nhận – fnc12

1

Bạn có thể sử dụng:

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

này trả về đại diện int màu kết hợp với một ID tài nguyên cụ thể.

Các vấn đề liên quan