Java 将HTML颜色文本转换为十六进制值

Java 将HTML颜色文本转换为十六进制值,java,android,html,colors,Java,Android,Html,Colors,我正在开发一个Android应用程序,它使用来自网站的一些html数据。我有一些使用html颜色的文本。比如“红色”或“绿色”。有没有办法在Java中将这些字符串转换为十六进制值?字符串hexvalue=Integer.toHexString(Color.parseColor(“红色”) //hexvalue现在是“FFFFFF 00”您可以轻松地在应用程序中添加HTML颜色列表并进行翻译。在HTML和CSS颜色规范中定义了140个颜色名称。这个 考虑到这一点,使用HashMap将颜色名称转换为

我正在开发一个Android应用程序,它使用来自网站的一些html数据。我有一些使用html颜色的文本。比如“红色”或“绿色”。有没有办法在Java中将这些字符串转换为十六进制值?

字符串hexvalue=Integer.toHexString(Color.parseColor(“红色”)


//hexvalue现在是“FFFFFF 00”

您可以轻松地在应用程序中添加HTML颜色列表并进行翻译。在HTML和CSS颜色规范中定义了140个颜色名称。这个

考虑到这一点,使用HashMap将颜色名称转换为适当的十六进制代码是很简单的

您还可以使用
Color.parseColor
。这将产生一个android颜色int,它可以转换为十六进制,如下所示:

String hexColor = String.format("#%06X", (0xFFFFFF & intColor));

如果他们使用的是标准CSS“红色”和“绿色”,那么它分别相当于#FF0000(rgb(255,0,0))和#00FF00(rgb(0255,0))


您还可以在CSS标准中轻松查找命名颜色的任何十六进制值,这将返回颜色
int

int intColor = android.graphics.Color.parseColor("red") //  -65536
然后您可以像这样转换为十六进制:

String hexColor = String.format("#%06X", (0xFFFFFF & intColor));
  • 整数到十六进制的转换:
此外,除非我感到困惑,否则这似乎不是十六进制。有一个表:(我不知道有什么方法可以为您转换)