如何将颜色名称转换为相应的十六进制代码?

6
我希望能将从服务器获取的特定颜色的字符串(如“YELLOW”、“BLUE”、“RED”、“PURPLE”等)应用于TextView文本的颜色显示。请问有什么方法可以实现该功能呢?
谢谢。

2
我们在谈论多少种颜色? - Blackbelt
这些颜色可以是任何东西,它来自服务器。 - krish
如果你有一定数量的颜色,那么可以使用类或数据库来管理它们,包括颜色名称和代码。 - Gopal Singh Sirvi
1
你应该向服务器请求以十六进制格式发送颜色,例如 #1034f4 或 0x1034f4。 - Redwarp
它可以像Crayola蜡笔颜色一样,比如NEON_CARROT或者我个人最喜欢的MAC_N_CHEESE吗? - Tristan Wiley
1
最好在服务器端进行转换,并将颜色作为int/hex值接收。如果可能的话。 - Gordak
2个回答

8

如果服务器无法像Redwarp评论中所述发送十六进制格式,则可以使用以下基本颜色;

Color.parseColor("RED")

文档

解析颜色字符串,并返回相应的颜色整数。如果无法解析该字符串,则抛出IllegalArgumentException异常。支持的格式有:#RRGGBB #AARRGGBB 'red'、'blue'、'green'、'black'、'white'、'gray'、'cyan'、'magenta'、'yellow'、'lightgray'、'darkgray'、'grey'、'lightgrey'、'darkgrey'、'aqua'、'fuschia'、'lime'、'maroon'、'navy'、'olive'、'purple'、'silver'、'teal'

或者在values资源文件夹中创建一个color.xml,并像这样创建颜色资源;

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

0

使用这个

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

它会帮助你 -


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接