2012-09-07 32 views
0

在Android中我可以做以下(都返回整数):的Android资源对R

R.color.my_color; 

VS

Resources myR = getResources(); 
myR.getColor(R.color.my_color); 

是什么,因为他们都返回整数区别?

回答

1

R.color.my_color将返回资源的id,而不是颜色本身。

2

R.color.my_color只包含您的资源的ID,所以它只是一个标识符。

getResources().getColor(R.color.my_color);包含实际颜色。在这里,您使用颜色ID来加载实际颜色。

你打算使用这种颜色?

+0

谢谢,明白了。我想我期望的颜色对象,而不是一个int的颜色参考 –

+0

嗯,颜色只是alpha,红色,绿色和蓝色(#aarrggbb)的数字的“组”,所以它被表示为一个int。如果你看到Color对象,它只包含int常量和方法(大多数是静态的)。 –