くま's Tech系Blog

基本的には技術で学んだことを書き留めようと思います。雑談もやるかもね!

Androidでの色について

今回はAndroidでの色についてです。

Androidではカラーコードは色の値(16 進数の色コード)を使用します。
そして、RGB値とアルファ値で指定します。 カラーリソースやコード上で表現します。

値は常に#で始め、その後に次のいずれかの形式で Alpha-Red-Green-Blue 情報を続けます。

  • #RGB
  • #ARGB
  • #RRGGBB
  • #AARRGGBB

#RGBはR(赤)・G(緑)・B(青)の3つの色の値を16進数で表現します。 たとえば、#FF0000は、赤色の最大値である255をを示し、他の色はゼロです。

#ARGBは、A(アルファ)・R(赤)・G(緑)・B(青)の4つの色の値を16進数で表現します。 例えば、#FF0000は、アルファ値が不透明(255)、赤の色の強度が最大(255)、緑と青が0であることを表します。 このカラーコードは、背景色やテキストカラーを指定する場合など、アルファ値を指定する必要がない場合に使用されます。

#RRGGBBは、R(赤)・G(緑)・B(青)の3つの色の値を16進数で表現します。 たとえば、#00FF00は緑色を表します。

#AARRGGBBは、A(アルファ)、R(赤)、G(緑)、およびB(青)の4つの色の値を16進数で表現します。 #AARRGGBBは、#ARGBと異なり、アルファ値を指定する必要がある場合に使用されます。 例えば、#80FF0000は、アルファ値が128(半透明)、赤の色の強度が最大(255)、緑と青が0であることを表します。

透明度を追加する

まず、透明度は0から255の範囲で16進数で表現します。

例えば、アルファ値が半透明の場合、つまり透明度が50%の場合は、アルファ値を128(255の半分)に設定します。 この場合、カラーコードは#80RRGGBBとなります。

透明度を追加するには次のようにalphaを指定するというパターンがまず1つあります。

<TextView
        android:textColor="#000000"
        android:alpha="0.3"

こうしなくても次のようにアルファ値まで含めたカラーコードを指定することができます。

// アルファ値が30%の黒色
<TextView
        android:textColor="#4D000000"

また、次のようにコードで表現することもできます。

// 引数は 「alpha 透過率」 「red 赤」 「green 緑」 「blue 青」の順
val color = Color.argb(30,30,30,30)

透明度(アルファ)を16進数のカラーコードに置き換える

自分が確認するときのために記載していますが、参考になれば

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

参照

developer.android.com

qiita.com

www.colordic.org