我有一个从 android.graphics.Color
生成的整数
整数的值为-16776961
如何将此值转换为格式为#RRGGBB的十六进制字符串
简单地说:我想从-16776961输出#0000FF
Note: 我不希望输出包含alpha,我也尝试了this example但没有成功
我有一个从 android.graphics.Color
生成的整数
整数的值为-16776961
如何将此值转换为格式为#RRGGBB的十六进制字符串
简单地说:我想从-16776961输出#0000FF
Note: 我不希望输出包含alpha,我也尝试了this example但没有成功
7 回答
掩码确保你只获得RRGGBB,%06X为你提供零填充十六进制(总是6个字符长):
尝试Integer.toHexString()
资料来源:In Java, how do I convert a byte array to a string of hex digits while keeping leading zeros?
我相信我已找到答案,此代码将整数转换为十六进制字符串并删除alpha .
Note 只有在您确定删除alpha不会影响任何内容时才使用此代码 .
这就是我做的
谢谢你的回答你做的事情
使用此方法Integer.toHexString,使用Color.parseColor时,某些颜色可能会出现Unknown颜色异常 .
使用此方法String.format("#%06X",(0xFFFFFF&intColor)),您将失去alpha值 .
所以我推荐这种方法:
ARGB颜色到十六进制字符串的整数值:
十六进制字符串到ARGB颜色的整数值: