当前位置:  开发笔记 > 编程语言 > 正文

将十六进制颜色值(#ffffff)转换为整数值

如何解决《将十六进制颜色值(#ffffff)转换为整数值》经验,为你挑选了4个好方法。

我从服务器接收十六进制颜色值(在此表单中,黑色#xxxxxx示例#000000)

如何将其转换为整数值?

我试图Integer.valueOf("0x" + passedColor.substring(1, passedColor.length()))获得更多的六进制0x000000结果,但这不是int在这里,任何其他建议?

我收到一个错误: 08-03 21:06:24.673: ERROR/AndroidRuntime(20231): java.lang.NumberFormatException: unable to parse '0x00C8FBFE' as integer

我正在使用Android SDK作为他们的setBackgroundColor(int color)功能,正如您可能已经猜到的那样 - 整数颜色值.

这是这个问题的对立面:如何在Android中将颜色整数转换为十六进制字符串?



1> CQM..:

真正的答案是使用:

Color.parseColor(myPassedColor)在机器人,myPassedColor是所述hex等值#000#000000#00000000.

但是,此函数不支持速记十六进制值,例如#000.


不幸的是,不解析像#000`这样的价值.参见[文档](http://developer.android.com/reference/android/graphics/Color.html#parseColor(java.lang.String))

2> Mike Samuel..:
Integer.parseInt(myString.replaceFirst("#", ""), 16) 


我不知道为什么人们支持这个; 它不起作用!! 这里的颜色以32位存储,因此打印它们使它们显示为长.parseInt查找显式的" - "表示否定,并且不考虑int或long的符号位.因此它会给出错误的数字.
感谢你的建议,我现在尝试这个无济于事,事实证明,包含的Android功能是唯一有效的颜色效果,即使它们都返回int.Color.parseColor(myPassedColor))我不认为这是一个特定于android的问题,但事实证明它是

3> Ashana.Jacko..:

答案是非常简单的家伙,在android中如果你想将十六进制颜色转换为int,只需使用android Color类,示例如下所示

这是浅灰色

Color.parseColor("#a8a8a8");

多数民众赞成,你会得到你的结果.



4> Fei..:

我有同样的问题,我发现了一些形式的颜色#AAAAAA,我想将其转换为Android可以使用的形式.我发现你可以使用,0xFFAAAAAA以便android可以自动告诉颜色.注意第一个FF是告诉alpha价值.希望能帮助到你

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有