首页 > 解决方案 > 有没有一种方法可以从名称中获取颜色,例如当程序读取白色时,它会显示 #FFFFFF 十六进制

问题描述

我正在尝试从数据库中读取一种颜色,有时它是一个十六进制(#FFFFFF),有时它是一个名称(红色,白色)我想要一种将这些字符串转换为十六进制代码的方法

标签: javaandroid

解决方案


Color.parseColor("#FFFFFF")是您需要的十六进制值。

但是,您不能将单词转换为十六进制颜色。为此,您需要创建映射。它看起来像这样:

String hexColor;

switch(colorName){
      case "red": hexColor = Color.RED;
           break;
      case "white": hexColor = Color.WHITE;
           break;
      case "brown": hexColor = Color.parse("#654321")
           break;
           ...
}

无论如何,这是一个杂项,应该在数据库内部进行统一映射,以使应用程序支持舒适。

希望能帮助到你。


推荐阅读