AndroidのImageViewの透明な背景を設定します
-
18-09-2019 - |
質問
画像ビューを追加しているWebビューを使用しています。この画像ビューの背景を透明に設定するにはどうすればよいですか?
私はこれを試しました:
mImageview.setBackgroundResource(R.color.trans);
どこ trans
→ <color name="trans">#00000000 </color>
.
解決
XMLを設定します Background
任意の色への属性、 White(#FFFFFF)
シェードまたは Black(#000000)
シェード。透明性が必要な場合は、実際のハッシュコードの前に80を置くだけです。
#80000000
これは、あなたが望むあらゆる色を透明なものに変えます.. :)
他のヒント
このコードをXMLに追加することにより、レイアウト、任意のビュー、または任意のコンポーネントのバックグラウンドを透過的に設定できます。
android:background="@android:color/transparent"
ハーシャドが言及したことに加えて:
2つの16進数文字を任意の16進コードに追加できます。 8桁のヘックスカラーコードの最初の2文字は、Androidの不透明度を表しています。
2つの16進数文字は、00〜FFの範囲です。例えば、
- 通常の不透明なブラックヘックス - "#000000"
- 完全に透明 - 「#00000000」
- 完全に不透明 - "#ff000000"
- 50%透明 - 「#7F000000」
これにより、あらゆる色をあらゆるレベルの透明性に変更できます。
パーセンテージからの16進接頭辞を見つけるには:
パーセンテージ数を100で除算し、255を掛けて小数値を取得します。小数を16進数に変換します ここ.
たとえば、50%、50/100 * 255 = 127の場合。リンクを使用して、16進価値7Fを取得します。
20%または30%の透明度を追加する場合は、CCのように、さらに2つの文字を16進コードにプリペートする必要があります。
ノート
android:background="#CCFF0088"
XMLで
CCはアルファ値、FFは赤い因子、00が緑の因子、88は青い要因です。
いくつかの不透明なコード:
ヘックス不透明な値
100% — FF
95% — F2
90% — E6
85% — D9
80% — CC
75% — BF
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
また、プログラムのように不透明度を設定することもできます。
yourView.getBackground().setAlpha(127);
0(完全に透明)の間で不透明度を255(完全に不透明)に設定します。 127.5はちょうど50%です。
指定された式を使用して、あらゆるレベルの透明度を作成できます。半分の透明が必要な場合:
16 |128 Where 128 is the half of 256.
|8 -0 So it means 80 is half transparent.
そして、25%の透明性について:
16 |64 Where 64 is the quarter of 256.
|4 -0 So it means 40 is quarter transparent.
以下のコードを黒に使用します:
<color name="black">#000000</color>
不透明度を使用する場合は、以下のコードを使用できます。
<color name="black">#99000000</color>
不透明なコードの以下:
100% - ff
95% - F2
90% - E6
85% - D9
80% - CC
75% - bf
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
このコードを透明な色に使用します
android:background="@android:color/transparent"
すでに定義された定数があります。使用する Color.TRANSPARENT
.
Androidに組み込まれた透明な透明性:R.color.transparentがあります。 http://developer.android.com/reference/android/r.color.html#transparent
しかし、たとえば、ImageViewの背景ではなく、透明なPNGを使用して、WebViewに透過的である画像の背景を作りたいと思うかもしれません。実際の画像がまったくシースルでない場合、ImageViewの背景はそれを通して見ることができません。
コードで必要な場合は、
mComponentName.setBackgroundColor(Color.parseColor("#80000000"));
または、代替として、次のコードでリソースIDを解析します。
mComponentName.setBackgroundColor(getResources().getColor(android.R.color.transparent));
まだこの問題に直面している人のために、あなたはこれを試すかもしれませんelement.getBackground().setAlpha(0);
XMLファイルで、属性「Alpha」を設定します
そのような
android:alpha="0.0" // for transparent
android:alpha="1.0" // for opaque
必要な透明度を適用するために、小数点で0.0〜1.0の値を与えることができます。たとえば、0.5の透明度は、障害のあるコンポーネントに最適です
このコードを試してください:)
その完全に透明なヘキサコード - "#00000000"
もう1つの簡単な方法:
mComponentName.setBackgroundResource(android.R.color.transparent);
私が出会った別の作業オプションは設定することです android:background="@null"
完全な透明性については、以下を使用してください。
#00000000
#80000000で試したとき、私は望んでいない黒い透明なオーバーレイを手に入れました。最初の2桁を変更してみてください。透明性のレベルを制御します
#00000000
#10000000
#20000000
#30000000
使用することもできます View.setAlpha(float)
可視性を正確に変更します。
0は透明になり、1は完全に表示されます。 ;)
次のコードを使用してみてください。それはあなたを完全にそれ以上に助けるでしょう。
このコードを使用して背景色を設定するように設計された.xmlファイル:
android:background="#000000"
また
android:background="#FFFFFF"
または、プログラムでも設定することもできます。
また、このコードをプログラムで使用することもできます。
image.setBackgroundDrawable(getResources().getDrawable( R.drawable.llabackground));
また、背景色をプログラムで設定するためのこのコード:
image.setBackgroundColor(Color.parseColor("#FFFFFF"));
同じプログラムでこのコード:
image.setBackgroundColor(getResources().getColor(Color.WHITE));
色は、透明に使用する色の選択に依存します。主に白または#ffffffの色を使用します。
それにかんする R.drawable.llabackground
: :このコードの行は、あなたの目的のために特別なものや違うもののように、背景のスタイルのためのものです。これを使用することもできます。
ImageView.setBackground(R.drawable.my_background);
ImageView.setBackgroundResource(R.color.colorPrimary);
ImageView.getImageAlpha();
ImageView.setAlpha(125); // transparency
これを試して:
#aa000000
透明性000000 =ブラックの場合、これらの6つの数値を必要な色に変更できます。