2011-05-26 25 views

cevap

18

var:

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

Ve burada kodu: (alfasız) sadece HEX değerini gerekiyorsa

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

Integer.toHexString baştaki sıfırları geri yüklemeyeceği için bu iyi bir fikir değildir. Alfa kullanmıyorsanız, alfa FF olarak ayarlanmış ve baştaki sıfırlar olmadığından çalışacaktır, ancak verilen örnekte strGreen rengi "# ff00" olacaktır, "# 0000ff00" olarak belirtilir. –

3

XML'in orijinal kaynak metnini çıkaramayacaksınız. Bu, yapım zamanında bir ikili değere dönüştürülür. (Yani, örneğin, #fff ve #ffffffff arasındaki fark silinir.)

Sen Integer.toHexString(int) kullanarak, tabii ki, bir onaltılık dizeye renk değeri dönüştürebilir. Size varsayarsak

3

:

int intColor = getResources().getColor(R.color.your_color); 
String hexColor = String.format("#%06X", (0xFFFFFF & intColor)); 
İlgili konular