侧边栏壁纸
博主头像
Z同学博主等级

工作磨平激情前,坚持技术的热忱。 欢迎光临Z同学的技术小站。 分享最新的互联网知识。

  • 累计撰写 274 篇文章
  • 累计创建 55 个标签
  • 累计收到 74 条评论

Android Color值转为ARGB格式10进制数

Z同学
2021-07-12 / 0 评论 / 0 点赞 / 486 阅读 / 578 字
温馨提示:
本文最后更新于 2021-12-29,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

需求

将android的Color值转为R,G,B,A
的形式,每个参数值范围0-255.

例如:#90232432 转为
R:35
G:36
B:50
A:144

解决

int color= Color.parseColor(#90232432)
	int r = ((color >> 16) & 0xff);
        int g = ((color >> 8) & 0xff);
        int b = ((color) & 0xff);
        int a = ((color >> 24) & 0xff);

其他

在Android之中 Color本身也有以下方法

 color.red();
       color.alpha();
       color.blue();
       color.green()

但是获取到的值都是小数值。而不是0-255的整数值。
如果是这种数值我们需要进行下面的转换就可以了。

 int red=(int)(color.red()*255.0f+0.5f);
 int alpha=(int)(color.alpha()*255.0f+0.5f);
 int blue=(int)(color.blue()*255.0f+0.5f);
 int green=(int)(color.green()*255.0f+0.5f);

如果想了解更全的关于Color的转换,可以参考我之后写的https://zinyan.com/?p=203

0

评论区