Stellen Sie transparenten Hintergrund eines ImageView auf Android fest
-
18-09-2019 - |
Frage
Ich verwende eine Webansicht, in der ich eine Bildansicht hinzufüge. Wie kann ich den Hintergrund dieser Bildansicht auf transparent einstellen?
Ich habe das versucht:
mImageview.setBackgroundResource(R.color.trans);
Wo trans
→ <color name="trans">#00000000 </color>
.
Lösung
In Ihrem XML setzen Sie die Background
zu jeder Farbe zuschreiben, White(#FFFFFF)
Schatten oder Black(#000000)
Schatten. Wenn Sie Transparenz wünschen, setzen Sie einfach 80 vor dem tatsächlichen Hash -Code:
#80000000
Dies ändert jede Farbe, die Sie transparent möchten .. :)
Andere Tipps
Sie können den Hintergrund transparent eines beliebigen Layouts, jeder Ansicht oder einer beliebigen Komponente durch Hinzufügen dieses Code in XML einstellen:
android:background="@android:color/transparent"
Zusätzlich zu dem, was Harshad erwähnte:
Zwei hexadezimale Zeichen können an jeden hexadezimalen Farbcode angehängt werden. Die ersten beiden Zeichen in einem 8-stelligen Hex-Farbcode repräsentieren seine Deckkraft in Android.
Die beiden hexadezimalen Zeichen können von 00 bis ff reichen. Zum Beispiel,
- Normaler undurchsichtiger schwarzer Hex- "#000000"
- Volltransparent - "#00000000"
- Voll undurchsichtig - "#ff000000"
- 50% transparent - "#7f000000"
Auf diese Weise können Sie jede Farbe auf eine beliebige Transparenz ändern.
Um das hexadezimale Präfix aus einem Prozentsatz zu finden:
Teilen Sie die Prozentzahl um 100 und multiplizieren Sie 255, um den Dezimalwert zu erhalten. Konvertieren Sie die Dezimalzahl in Hexadezimal hier.
Zum Beispiel für 50%, 50/100 * 255 = 127. Verwenden des Links erhalten wir den Hexadezimalwert 7f.
Quelle: Android: So erstellen Sie einen transparenten oder undurchsichtigen Hintergrund
Wenn Sie 20% oder 30% Transparenz hinzufügen möchten, sollten Sie wie CC zwei weitere Zeichen zum Hexadezimalcode vorbringen.
Notiz
android:background="#CCFF0088"
in xml
Wenn CC der Alpha -Wert ist, ist FF der rote Faktor, 00 der grüne Faktor und 88 der blaue Faktor.
Ein Opazitätscode:
Sechskantlagenwerte
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
Sie können die Opazität auch programmgesteuert wie:
yourView.getBackground().setAlpha(127);
Setzen Sie die Opazität zwischen 0 (vollständig transparent) bis 255 (vollständig undurchsichtig). Der 127,5 beträgt genau 50%.
Mit der angegebenen Formel können Sie jede Transparenzstufe erstellen. Wenn Sie halb transparent wollen:
16 |128 Where 128 is the half of 256.
|8 -0 So it means 80 is half transparent.
Und für 25% Transparenz:
16 |64 Where 64 is the quarter of 256.
|4 -0 So it means 40 is quarter transparent.
Verwenden Sie den folgenden Code für Schwarz:
<color name="black">#000000</color>
Wenn Sie jetzt die Opazität verwenden möchten, können Sie den folgenden Code verwenden:
<color name="black">#99000000</color>
Und der unten für Opazitätscode:
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
Verwenden Sie diesen Code für transparente Farbe
android:background="@android:color/transparent"
Es gibt bereits eine vordefinierte Konstante. Verwenden Color.TRANSPARENT
.
Es gibt bereits ein transparentes in Android integriert: R.Color.transparent. http://developer.android.com/reference/android/r.color.html#transparent
Aber ich denke, Sie möchten vielleicht den Hintergrund des Bildes erstellen, das Sie in das WebView transparent einsetzen, beispielsweise mit einem transparenten PNG und nicht mit dem ImageView -Hintergrund. Wenn das tatsächliche Bild überhaupt nicht durchsichert ist, kann der ImageView-Hintergrund nicht durch ihn gesehen werden.
Falls Sie es in Code möchten, nur:
mComponentName.setBackgroundColor(Color.parseColor("#80000000"));
Oder alternativ die Ressourcen -ID mit dem folgenden Code analysieren:
mComponentName.setBackgroundColor(getResources().getColor(android.R.color.transparent));
Für diejenigen, die sich immer noch diesem Problem stellen, können Sie dies versuchenelement.getBackground().setAlpha(0);
Legen Sie in Ihrer XML -Datei ein Attribut "Alpha" fest
wie zum Beispiel
android:alpha="0.0" // for transparent
android:alpha="1.0" // for opaque
Sie können jeden Wert zwischen 0,0 und 1,0 in Dezimalheit angeben, um die erforderliche Transparenz anzuwenden. Zum Beispiel ist 0,5 Transparenz ideal für behinderte Komponente
Probieren Sie diesen Code aus :)
Es ist ein vollständig transparenter Hexa -Code - "#00000000"
Noch ein einfacher Weg:
mComponentName.setBackgroundResource(android.R.color.transparent);
Eine weitere Arbeitsoption, auf die ich gestoßen bin, ist das Setzen android:background="@null"
Verwenden Sie Folgendes für vollständige Transparenz:
#00000000
Als ich es mit #80000000 versuchte, bekam ich eine schwarze transparente Overlay, die ich nicht will. Versuchen Sie, die ersten beiden Ziffern zu ändern. Es kontrolliert das Niveau der Transparenz, wie
#00000000
#10000000
#20000000
#30000000
Sie könnten auch verwenden View.setAlpha(float)
Genau die Sichtbarkeit ändern.
0 wäre transparent, 1 vollständig sichtbar. ;))
Versuchen Sie, den folgenden Code zu verwenden. Es wird Ihnen bei vollem oder mehr helfen.
Eine .xml -Datei, mit der dieser Code verwendet wurde, um die Hintergrundfarbe festzulegen:
android:background="#000000"
oder
android:background="#FFFFFF"
Oder Sie können es auch programmgesteuert festlegen.
Sie können diesen Code auch programmgesteuert verwenden:
image.setBackgroundDrawable(getResources().getDrawable( R.drawable.llabackground));
Auch dieser Code zum Einstellen der Hintergrundfarbe auch programmgesteuert:
image.setBackgroundColor(Color.parseColor("#FFFFFF"));
Dieser Code für dasselbe programmgesteuert:
image.setBackgroundColor(getResources().getColor(Color.WHITE));
Die Farbe hängt von Ihrer Wahl ab, welche Farbe Sie für transparent verwenden möchten. Verwenden Sie meistens eine weiße oder #ffffff -Farbe.
Bezüglich R.drawable.llabackground
: Diese Codezeile ist für Ihren Hintergrundstil, wie etwas Besonderes oder anderes für Ihren Zweck. Sie können dies auch verwenden.
ImageView.setBackground(R.drawable.my_background);
ImageView.setBackgroundResource(R.color.colorPrimary);
ImageView.getImageAlpha();
ImageView.setAlpha(125); // transparency
Versuche dies:
#aa000000
Für Transparenz 000000 = schwarz können Sie diese sechs Zahlen für die gewünschte Farbe ändern.