美文网首页Android开发Android开发经验谈程序员
Android 不透明度对应的十六进制值

Android 不透明度对应的十六进制值

作者: 实例波 | 来源:发表于2017-09-09 01:09 被阅读83次

一些废话

好久没更新了,前段时间被租房的事弄的够呛。之前好不容易租到了合适的房子,工作也换好了,结果住了没一个月就被政府给强制清退了,又重新去找房、搬家,折腾得整个人都不好了。不过现在总算是稳定下来了,也能静下心来写一些东西了,不管怎么样,生活还得继续呀~

前言

写这篇文章的目的,主要是为了方便大家查找对应的透明度值。曾经的我是拥有一个透明度转十六进制小工具的,而且还是一个萌妹子写的,可惜后来找不到了,索性还是自己弄一个吧。
在开发UI的过程中,我们会遇到各种各样的设计图,设计一般都会给我们标注出字号、颜色、透明度等等,设计一般给的都是一个百分比值,而我们需要转换成十六进制的值。这其中还有一点需要注意,PhotoShop等软件上使用的其实是不透明度,设计给我们的值大多数时候也是不透明度,这和透明度是刚好相反的,需要注意一下。本文也是按照不透明度来转换的。

正文

先把结果放上来:

不透明度对应的十六进制值:
不透明度:0%     HEX: 0
不透明度:1%     HEX: 3
不透明度:2%     HEX: 5
不透明度:3%     HEX: 8
不透明度:4%     HEX: A
不透明度:5%     HEX: D
不透明度:6%     HEX: F
不透明度:7%     HEX: 12
不透明度:8%     HEX: 14
不透明度:9%     HEX: 17
不透明度:10%    HEX: 1A
不透明度:11%    HEX: 1C
不透明度:12%    HEX: 1F
不透明度:13%    HEX: 21
不透明度:14%    HEX: 24
不透明度:15%    HEX: 26
不透明度:16%    HEX: 29
不透明度:17%    HEX: 2B
不透明度:18%    HEX: 2E
不透明度:19%    HEX: 30
不透明度:20%    HEX: 33
不透明度:21%    HEX: 36
不透明度:22%    HEX: 38
不透明度:23%    HEX: 3B
不透明度:24%    HEX: 3D
不透明度:25%    HEX: 40
不透明度:26%    HEX: 42
不透明度:27%    HEX: 45
不透明度:28%    HEX: 47
不透明度:29%    HEX: 4A
不透明度:30%    HEX: 4D
不透明度:31%    HEX: 4F
不透明度:32%    HEX: 52
不透明度:33%    HEX: 54
不透明度:34%    HEX: 57
不透明度:35%    HEX: 59
不透明度:36%    HEX: 5C
不透明度:37%    HEX: 5E
不透明度:38%    HEX: 61
不透明度:39%    HEX: 63
不透明度:40%    HEX: 66
不透明度:41%    HEX: 69
不透明度:42%    HEX: 6B
不透明度:43%    HEX: 6E
不透明度:44%    HEX: 70
不透明度:45%    HEX: 73
不透明度:46%    HEX: 75
不透明度:47%    HEX: 78
不透明度:48%    HEX: 7A
不透明度:49%    HEX: 7D
不透明度:50%    HEX: 80
不透明度:51%    HEX: 82
不透明度:52%    HEX: 85
不透明度:53%    HEX: 87
不透明度:54%    HEX: 8A
不透明度:55%    HEX: 8C
不透明度:56%    HEX: 8F
不透明度:57%    HEX: 91
不透明度:58%    HEX: 94
不透明度:59%    HEX: 96
不透明度:60%    HEX: 99
不透明度:61%    HEX: 9C
不透明度:62%    HEX: 9E
不透明度:63%    HEX: A1
不透明度:64%    HEX: A3
不透明度:65%    HEX: A6
不透明度:66%    HEX: A8
不透明度:67%    HEX: AB
不透明度:68%    HEX: AD
不透明度:69%    HEX: B0
不透明度:70%    HEX: B3
不透明度:71%    HEX: B5
不透明度:72%    HEX: B8
不透明度:73%    HEX: BA
不透明度:74%    HEX: BD
不透明度:75%    HEX: BF
不透明度:76%    HEX: C2
不透明度:77%    HEX: C4
不透明度:78%    HEX: C7
不透明度:79%    HEX: C9
不透明度:80%    HEX: CC
不透明度:81%    HEX: CF
不透明度:82%    HEX: D1
不透明度:83%    HEX: D4
不透明度:84%    HEX: D6
不透明度:85%    HEX: D9
不透明度:86%    HEX: DB
不透明度:87%    HEX: DE
不透明度:88%    HEX: E0
不透明度:89%    HEX: E3
不透明度:90%    HEX: E6
不透明度:91%    HEX: E8
不透明度:92%    HEX: EB
不透明度:93%    HEX: ED
不透明度:94%    HEX: F0
不透明度:95%    HEX: F2
不透明度:96%    HEX: F5
不透明度:97%    HEX: F7
不透明度:98%    HEX: FA
不透明度:99%    HEX: FC
不透明度:100%   HEX: FF

计算所用的代码如下:

public void printHex() {
        System.out.println("不透明度对应的十六进制值:");
        for (int i = 0; i <= 100; i++) {
            float temp = i * 255f / 100f;
            int round = Math.round(temp);
            String hex = Integer.toHexString(round);
            System.out.println("不透明度:" + i + "%\t" + "HEX: " + hex.toUpperCase());
        }
    }

写这段代码的时候还顺带了解了一个小的知识点:关于Math.round(float)方法,该方法表示四舍五入,在Math.round(11.5)的时候会返回12,而在Math.round(-11.5)的时候却会返回-11,原因如下:

Math类中提供了三个与取整有关的方法:

  • Math.ceil(float)
  • Math.floor(float)
  • Math.round(float)

这些方法的作用与它们英文名称的含义相对应,例如:ceil的中文意思是天花板,该方法就表示向上取整,Math.ceil(11.2)的结果为12,Math.ceil(-11.6)的结果为-11;floor的中文意思是地板,该方法就表示向下取整,Math.floor(11.6)的结果是11,Math.floor(-11.4)的结果是-12。
Math.round(float)其实现为:Math.floor(a + 0.5f),所以才会出现前面提到的情况,也不用去背什么口诀,记住加0.5然后向下取整就行了。

结语

好了,今天就写到这里吧,我也该睡觉了,太久没写东西了,写起来简直不要太啰嗦,哈哈哈,大家见谅吧。如有错误,欢迎指正。

相关文章

网友评论

    本文标题:Android 不透明度对应的十六进制值

    本文链接:https://www.haomeiwen.com/subject/xsxojxtx.html