首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将颜色名称转换为rgb、rgba或十六进制

如何将颜色名称转换为rgb、rgba或十六进制
EN

Stack Overflow用户
提问于 2020-12-16 10:13:43
回答 2查看 77关注 0票数 0

非常简单的问题,我希望有一个简单的答案。我正在创建一个移动应用程序,从网站接收css样式,并将颜色转换为有效的view.setBackgroundColor()

例如,一旦我从保存为"background-color:red;"的样式中提取了一个子字符串,我如何将该颜色的"red"转换为正确的RGB值(我认为它应该是view.setBackgroundColor(Color.rgb(255,0,0)) )或正确的十六进制值(根据the W3schools color picker,我认为它应该是view.setBackgroundColor(Color.parseColor("#ff0000"))

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-01 06:00:49

我给georkost的答案投了赞成票,因为这是一种方法。但是,最后我使用从This link复制的xml将css颜色及其转换后的颜色散列添加到我的colors.xml文件中,然后使用以下代码。

代码语言:javascript
运行
复制
val cssColor = context.resources.getIdentifier(namedColor.toLowerCase(
                Locale.ENGLISH), "color", context.packageName)

            if (cssColor != 0) {
                // outputting this if condition is met
                view.setTextColor( ContextCompat.getColor(context, cssColor) )
            }
票数 0
EN

Stack Overflow用户

发布于 2020-12-16 17:38:10

只需从您获得的值创建一个枚举。您可以创建一个enum类,将从site获得的值转换为实际的十六进制或基于rgb的值。

代码语言:javascript
运行
复制
when(serverValue) {
  "red" -> "#FFFFFF"
  "green" -> "#FFFABA"
}

这段代码只是给你一个概念。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65316348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档