2015-07-02 12 views
6

Chcę wyświetlić tekst TextView w określonym kolorze, w którym otrzymuję z serwera. Od kolorów serwerów nadchodzi w formacie ciąg. Podobnie jak "ŻÓŁTY", "NIEBIESKI", "CZERWONY", "FIOLETOWY" itp. Jak możemy ustawić ten kolor na tekstowy tekst.Jak przekonwertować nazwy kolorów na równoważny kod szesnastkowy?

Czy ktoś może mieć jakieś pojęcie na ten temat?

Dzięki

+2

ile kolorów mówimy? – Blackbelt

+0

te kolory mogą być dowolne, to z serwera – krish

+0

24bitów lub 32 bitów? – Blackbelt

Odpowiedz

7

Jeśli serwer nie może wysłać do formatu hex jako Redwarp's comment mówi, można zrobić podstawowe kolory jak to;

Color.parseColor("RED") 

Docs

Przetwarza ciąg koloru i zwraca odpowiedni kolor-int. Jeśli ciąg znaków nie może zostać przeanalizowany, zgłasza wyjątek IllegalArgumentException. Obsługiwane formaty to: #RRGGBB #AARRGGBB "czerwony", "niebieski", "zielony", "czarny", "biały", "szary", "cyjan", "magenta", "żółty", "jasno szary", "darkgray", "grey", "lightgrey", "darkgrey", "aqua", "fuschia", "lime", "maroon", "navy", "olive", "purple", "silver", "teal"

lub utwórz color.xml w folderze zasobów wartości i utwórz takie zasoby kolorów;

<color name="white">#FFFFFF</color> 
0

Użyj tego

textView.setTextColor(Color.parseColor("RED")); 

pomoże wam-

+0

Działa tylko w przypadku niektórych kolorów – matty357

Powiązane problemy