了解Android上的颜色(六个字符)

我正在尝试了解Android中的颜色是如何工作的。 我将这种颜色设置为我的LinearLayout的背景,并获得了具有一定透明度的背景灰色:

<gradient android:startColor="#b4555555" android:endColor="#b4555555"
 android:angle="270.0" />

如果我删除最后两个字符(55),我会得到一个纯色,失去透明度。 我试图找到一个页面,我可以看到关于这个的一些解释,但我找不到它。


如果您提供6个十六进制数字,则表示RGB(每个红色,绿色和蓝色值的2个十六进制数字)。

如果您提供8位十六进制数字,则它是一个ARGB(分别为alpha,红色,绿色和蓝色的每个值的2个十六进制数字)。

所以通过删除最后的55,你将从A = B4,R = 55,G = 55,B = 55(一种大部分透明的灰色)变为R = B4,G = 55,B = 55 - 透明暗淡小指)。

有关支持的格式,请参阅“Color”文档。


Android使用十六进制ARGB值,格式为#AARRGGBB。 第一对字母AA代表alpha通道。 您必须将十进制不透明度值转换为十六进制值。 这里是步骤:

Alpha十六进制值处理

  • 把你的不透明度作为十进制值并乘以255.所以,如果你有一个50%不透明的块,那么十进制值就是0.5。 例如:.5 x 255 = 127.5
  • 分数不会转换为十六进制,因此您必须将您的数字向上或向下舍入为最接近的整数。 例如:127.5轮到128; 55.25下降到55。
  • 在十进制到十六进制转换器中输入您的十进制值,如http://www.binaryhexconverter.com/decimal-to-hex-converter,然后转换您的值。
  • 如果您只返回单个值,则以零为前缀。 例如,如果您试图获得5%的不透明度,并且正在经历这个过程,那么您将以D的十六进制值结束。在它前面添加一个零,使其显示为0D。
  • 这就是你如何找到alpha通道值。 我冒昧为您制作一份价值清单。 请享用!

    十六进制不透明度值

  • 100% - FF
  • 95% - F2
  • 90% - E6
  • 85% - D9
  • 80% - CC
  • 75% - 高炉
  • 70% - B3
  • 65% - A6
  • 60% - 99
  • 55% - 8C
  • 50% - 80
  • 45% - 73
  • 40% - 66
  • 35% - 59
  • 30% - 4D
  • 25% - 40
  • 20% - 33
  • 15% - 26
  • 10% - 1A
  • 5% - 0D
  • 0% - 00

  • 从@BlondeFurious得到答案,下面是一些Java代码,用于将每个十六进制值从100%变为0%:

    for (double i = 1; i >= 0; i -= 0.01) {
        i = Math.round(i * 100) / 100.0d;
        int alpha = (int) Math.round(i * 255);
        String hex = Integer.toHexString(alpha).toUpperCase();
        if (hex.length() == 1)
            hex = "0" + hex;
        int percent = (int) (i * 100);
        System.out.println(String.format("%d%% — %s", percent, hex));
    }
    

    输出:

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

    JavaScript版本如下:

    var text = document.getElementById('text');
    for (var i = 1; i >= 0; i -= 0.01) {
        i = Math.round(i * 100) / 100;
        var alpha = Math.round(i * 255);
        var hex = (alpha + 0x10000).toString(16).substr(-2).toUpperCase();
        var perc = Math.round(i * 100);
        text.innerHTML += perc + "% — " + hex + " (" + alpha + ")</br>";
    }
    <div id="text"></div>
    链接地址: http://www.djcxy.com/p/87081.html

    上一篇: Understanding colors on Android (six characters)

    下一篇: What are the default color values for the Holo theme on Android 4.0?