1. ホーム
  2. android

[解決済み] Androidで背景を20%透明にする方法

2022-03-14 11:01:10

質問

の背景はどのようにすればよいのでしょうか? Textview 背景色(白など)がある場合、20%程度透明(完全透明ではない)にしてください。

どのように解決するのですか?

アルファチャンネルで80%の色を持つようにする。例えば、赤の場合は #CCFF0000 :

<TextView
   ...
   android:background="#CCFF0000" />

例では CC は16進数で 255 * 0.8 = 204 . 16進数の最初の2桁はアルファチャンネル用であることに注意してください。フォーマットは #AARRGGBB ここで AA はアルファチャンネルです。 RR は赤チャンネルです。 GG は緑チャンネル、そして BB は青チャンネルです。

透明度20%は不透明度80%という意味だと思うのですが。もし逆の意味なら、代わりに CC 使用 33 に対する16進数である 255 * 0.2 = 51 .

アルファ透過率の値を適切に計算するためには、次のような手順があります。

  1. 透明度のパーセンテージ、例えば20%が与えられたとき、不透明度のパーセンテージの値は80%であることがわかります(これは 100-20=80 )
  2. アルファチャンネルの範囲は8ビット( 2^8=256 ) つまり、0から255までの範囲となります。
  3. 不透明度の割合をアルファ域に投影します。つまり、範囲(255)に割合を掛けます。この例では 255 * 0.8 = 204 . 必要であれば、最も近い整数に丸めます。
  4. で求めた値(10進数)を16進数(16進数)に変換します。これはGoogleや電卓を使ってもよい。Googleで、"204 to hexa"と入力すると、16進数の値が表示されます。この場合、次のようになります。 0xCC .
  5. 4.で得た値の前に、希望する色を付ける。例えば、赤の場合、これは FF0000 となります。 CCFF0000 .

を参考にしてみてください。 色に関するAndroidのドキュメント .