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>.

War es hilfreich?

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 versuchen
element.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. ;))

In Android Studio ist es sehr einfach, Farbe und Deckkraft mit einem integrierten Werkzeug anzupassen:

Android Adjust Color Opacity

Versuchen Sie, den folgenden Code zu verwenden. Es wird Ihnen bei vollem oder mehr helfen.

  1. Eine .xml -Datei, mit der dieser Code verwendet wurde, um die Hintergrundfarbe festzulegen:

    android:background="#000000"
    

    oder

    android:background="#FFFFFF"
    

    Image is here

    Oder Sie können es auch programmgesteuert festlegen.

  2. Sie können diesen Code auch programmgesteuert verwenden:

    image.setBackgroundDrawable(getResources().getDrawable(
        R.drawable.llabackground));
    
  3. Auch dieser Code zum Einstellen der Hintergrundfarbe auch programmgesteuert:

    image.setBackgroundColor(Color.parseColor("#FFFFFF"));
    
  4. 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.

Wenn Sie ein zeichnisches XML -Bild verwenden, können Sie es transparent machen, wie im Bild unten gezeigt, oder Sie können einen Farbcode verwenden:

<color name="black">#99000000</color> 

Enter image description here

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top