Androidで色がどのように機能するかを理解しようとしています。この色をLinearLayout
の背景として設定し、透明度のある背景を灰色にします。
<gradient Android:startColor="#b4555555" Android:endColor="#b4555555"
Android:angle="270.0" />
最後の2文字(55)を削除すると、単色になり、透明度が失われます。これについての説明を見ることができるページを探していましたが、見つけることができませんでした。
6桁の16進数を指定すると、RGB(赤、緑、青の各値に対して2桁の16進数)を意味します。
8桁の16進数を指定すると、ARGB(アルファ、赤、緑、青の各値に対して2桁の16進数)になります。
したがって、最後の55を削除すると、A = B4、R = 55、G = 55、B = 55(ほとんど透明な灰色)からR = B4、G = 55、B = 55(完全な非-透明な薄暗いピンキー)。
サポートされている形式については、 "Color" documentation を参照してください。
Androidは16進数のARGB値を使用し、#AARRGGBBとしてフォーマットされます。最初の文字のペアであるAAは、アルファチャネルを表します。 10進数の不透明度の値を16進数の値に変換する必要があります。手順は次のとおりです。
アルファ16進値プロセス
それがアルファチャンネル値を見つける方法です。私はあなたのために値のリストをまとめる自由を取りました。楽しい!
16進数の不透明度値
@BlondeFuriousからの答えを離れて、100%から0%アルファまでの各16進値を取得するJavaコードがあります。
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>
また、Googleの「16進数への数値」だけで、「数値」は0から255までの任意の値です。
これらは、テキストの色の不透明度レベルを設定するための変換です。
DE000000
8A000000
61000000
1F000000
FFFFFFFF
B3FFFFFF
80FFFFFF
1FFFFFFF
Androidでは、色はRGBまたはARGBとして指定できます。
http://en.wikipedia.org/wiki/ARGB
RGBでは、すべての色(赤、緑、青)に2つの文字があり、ARGBでは、アルファチャネルに2つの追加の文字があります。
したがって、8文字の場合はARGBで、最初の2文字はアルファチャネルを指定します。先頭の2文字を削除すると、RGBのみになります(単色、アルファ/透明度なし)。 Javaソースコードで色を指定する場合は、次を使用する必要があります。
int Color.argb (int alpha, int red, int green, int blue)
alpha Alpha component [0..255] of the color
red Red component [0..255] of the color
green Green component [0..255] of the color
blue Blue component [0..255] of the color
参照:argb
8桁の16進数のカラー値はARGB(アルファ、赤、緑、青)の表現ですが、6桁の値は100%の不透明度(完全に不透明)を想定し、RGB値のみを定義します。したがって、これを完全に不透明にするには、#FF555555を使用するか、または単に#555555を使用します。 2桁の16進値はそれぞれ1バイトで、0〜255の値を表します。