android 颜色码详解

前言:
最近在群里面,经常能遇到一些同学在问,关于颜色码的问题。比如,为什么颜色码是一串字母? 又为什么,有时候是#+6个字母,有时候是#+8个字母。又或者#50FFFFFF,这样怎么不是透明呢?… … 每次都帮大伙回答,总是显得没效率。趁今天,已经把需求做完。赶紧写一篇文章。

一、颜色

在Android开发中,颜色是用ARGB的格式,来表现。A即alpha,译为透明度。R、G、B,分别对应Red、Green、Blue。也就是说,一个颜色码(值)是由四部分组成。其中RGB,是所有色彩的基础色。其它的颜色,是由RBG的不同比例混合而成出来的。而Alpha,则决定了,这个颜色的透明程度。

二、颜色码的单位

在实际开发中,我们经常遇到两种单位形式,用以表现某一种颜色。

  • 数值型。 数值型,表示的颜色值范围是0~255。其中,在某种场合下,某些API,可能会提供一个,控制透明度的float型参数,但其值范围是0~1。你不是说,范围是在0~255吗?这里,怎么变成0~1了? 问的好!,这里的0~1,是一个float类型。也即是说,你可以传一个0.1,0.2,0.3… and so on。 细心的你,可能已经发现。这其实,还是0~255。只是多了一层转换关系罢了! 比方说,0对应的还是0。1对应的是255。那么,0.5对应的即是255 * 0.5。0.3对应的,即是255 * 03。就是这么简单。
  • 字母型。 字母型,表示的颜色值范围是0~FF。这只是一种简单的,将十进制的颜色值的表示方式,转换成十六进制的表示方式而已。所以,当某一API,需要你传这种16进制的值,作为颜色码。你只需简单的做个转换就行。不懂,如何将10进制转成16进制?或是觉得转换过于麻烦?直接百度一下,有很多现成的工具和网页,可以帮你一键转换。

二、实际案例

在实际开发中,美工可能会给你某个数值的颜色。比如说,“你这个背景的颜色,设置成透明度30%的白色。… … 现在,我想把这个透明度30%的白色,在color.xml里面,以字母型保存起来,那该怎么换算呢? 首先,计算透明度。30%即0.3,通过计算,得出 255*0.3=76.5。其次,白色的RGB数值都是255,255,255。然后,我们要做的,就是将这些数值,转换成十六进制的表达方式,即:4DFFFFFF (4D的结果并不完全精准,但取舍掉小数点,并不影响色彩的表现)。最后,在这个十六进制的数值前加个#,即 #4DFFFFFF。下面是color.xml的代码示例:

<?xml version="1.0" encoding="utf-8"?>
<resources>

   <!-- 白色透明30% -->
   <color name="alpha_white_30">#4DFFFFFF</color>

</resources>

到此为止,我们已经学会了Android颜色码的相关知识。赶紧自己动手试一试吧!有啥问题,可以在下面的评论区提出来,我会尽快答复。 Thank you for reading my posted. If you have any questions, You can comment below.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值