每次开发的时候,UI在设计图中标注的颜色都是类似于#FF0000(红色),这倒没什么,但是呢后面却标注了30%的透明度,这下抓狂了,透明度怎么计算?不用着急,不用你算,收藏我这篇文章即可。

颜色简介

Android中的颜色值通常遵循RGB/ARGB标准,使用时通常以“#”字符开头,以16进制表示。

常用的颜色值格式为:

  1. #RGB

  2. #ARGB

  3. #RRGGBB

  4. #AARRGGBB

其中,ARGB 依次代表透明度(alpha)、红色(red)、绿色(green)、蓝色(blue)。以颜色值 #FF99CC00 为例,其中,FF 是透明度,99 是红色值, CC 是绿色值, 00 是蓝色值。

透明度

  1. 透明度分为256阶(0-255),计算机上用16进制表示为(00-ff)。透明就是0阶,不透明就是255阶,如果50%透明就是127阶(256的一半当然是128,但因为是从0开始,所以实际上是127)。
  2. 透明度 和 不透明度 是两个概念, 它们加起来是1,或者100%.
  3. ARGB 中的透明度alpha,表示的是不透明度。

如何换算

UI给出的颜色是#FFFFFF,透明度为40%。

换算过程:

  1. 将透明度转换成不透明度(转换方式参考“透明度”,第2条) 。不透明度为60%
  2. 不透明度乘以255。 我们得到结果:153
  3. 将计算结果转换成16进制。得到最终的不透明度:99
  4. 将不透明度和颜色值拼接成ARGB格式。得到最终的颜色值: #99FFFFFF

干货

我知道大家都在等最终的结果,肯定不会去自己算的,那就来点实际吧

透明度 16进制表示
100% 00
95   % 0D
90   % 1A
85   % 26
80   % 33
75   % 40
70   % 4D
65   % 59
60   % 66
55   % 73
50   % 80
45   % 8C
40   % 99
35   % A6
30   % B3
25   % BF
20   % CC
15   % D9
10   % E6
5     % F2
0     % FF

说明:如果UI给出16进制的颜色值,那么透明度就按照上面的表格对应,将对应的透明度的16进制添加值UI给定的颜色值前,即可大功告成!!!还是说个例子吧,免得不理解.

例子:

UI给出的颜色值为#FF0000,透明度30%。

结合上表,30%的透明度16进制的值为 B3,那么最终的颜色值为 #B3FF0000.

更多相关文章

  1. Android(安卓)Logcat调试中的V、D、I、W、E的分别代表什么?
  2. android 控件各种颜色的半透明效果配置
  3. android在xml文件中实现背景或按钮颜色渐变
  4. Android(安卓)画布绘图
  5. Android设置状态栏字体颜色
  6. Android进度条ProgressBar颜色的渐变设置
  7. Android画图最基本的三个对象(Color,Paint,Canvas)
  8. 初学Android应用程序——资源文件、文字、字体颜色、文字背景颜
  9. Android使用shape绘制控件

随机推荐

  1. Android从零单排——前言
  2. Android(安卓)ImageView 的scaleType 属
  3. Android项目构建Apk包流程
  4. Android整理笔记——1.3.2.1自定义view的
  5. android:sharedUserId问题
  6. android一键改机之真改机build.prop
  7. Android面试汇总-Android内存和性能优化
  8. Android布局优化之merge(二)
  9. Android线程与ANR
  10. Android与服务器端数据交互(http协议整合s