我怎样才能得到我的活动中的颜色资源的价值

我需要得到一个颜色string值。 换句话说,我想从string格式的<color name="color">#ffffffff</color>这样的颜色资源中提取#ffffffff 。 有没有办法做到这一点?

Solutions Collecting From Web of "我怎样才能得到我的活动中的颜色资源的价值"

假设你有:

 <color name="green">#0000ff00</color> 

这里是代码:

 int greenColor = getResources().getColor(R.color.green); String strGreenColor = "#"+Integer.toHexString(greenColor); 

您将无法取出XML的原始源文本。 在构build时转换为二进制值。 (所以,例如, #ffffffff#ffffffff之间的区别被删除。)

您可以将颜色值转换为hexstring,当然,使用Integer.toHexString(int)

如果您只需要HEX值(不带alpha):

 int intColor = getResources().getColor(R.color.your_color); String hexColor = String.format("#%06X", (0xFFFFFF & intColor)); 
 Integer.toHexString(ContextCompat.getColor(context, R.color.black) & 0x00ffffff); 

来自: Android获取颜色作为string值