it-swarm.com.de

Wie kann ich ein Bild auf Android transparent machen?

Ich verwende ein lineares Layout und ein Frame-Layout. Im linearen Layout behalte ich ein Bild als Hintergrund und im Rahmenlayout ein imageView. In dieser Bildansicht gebe ich ein Bild.

Jetzt möchte ich das zweite Bild (das sich in der imageView befindet) transparent machen. Wie kann ich das machen?

48
khan

Versuche dies:

ImageView myImage = (ImageView) findViewById(R.id.myImage);
myImage.setAlpha(127); //value: [0-255]. Where 0 is fully transparent and 255 is fully opaque.

Hinweis : setAlpha(int) ist zugunsten von setAlpha(float) veraltet, wobei 0 vollständig transparent und 1 vollständig undurchsichtig ist. Verwenden Sie es wie folgt: myImage.setAlpha(0.5f)

115
Rubycon

Android:alpha macht dies in XML:

<ImageView
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:src="@drawable/blah"
    Android:alpha=".75"/>
79
Eric

Legen Sie ein ID-Attribut in der ImageView fest:

<ImageView Android:id="@+id/myImage"

In Ihrem Code, in dem Sie das Bild ausblenden möchten, benötigen Sie den folgenden Code.

Zunächst benötigen Sie einen Verweis auf die ImageView:

ImageView myImage = (ImageView) findViewById(R.id.myImage);

Setzen Sie dann Visibility auf GONE:

myImage.setVisibility(View.GONE);

Wenn Sie Code an anderer Stelle haben möchten, damit er wieder sichtbar wird, setzen Sie ihn auf die gleiche Weise auf Visible:

myImage.setVisibility(View.VISIBLE);

Wenn Sie "vollständig transparent" meinen, funktioniert der obige Code. Wenn Sie "teilweise transparent" meinen, verwenden Sie die folgende Methode:

int alphaAmount = 128; // Some value 0-255 where 0 is fully transparent and 255 is fully opaque
myImage.setAlpha(alphaAmount);
5
Rich

Wenn Sie sich in einer XML-Datei befinden, verwenden Sie die folgenden Anweisungen, um Ihre Bildansicht transparent zu machen!

 Android:background="@null" 
4
Karoly

Bei neueren Android-Versionen (mindestens Android 4.2 (Jelly Bean)) wird die Methode setAlpha (int value) abgeschrieben. Verwenden Sie stattdessen die setAlpha(float value)-Methode, die einen Float zwischen 0 und 1 verwendet, wobei 0 vollständige Transparenz und 1 keine Transparenz ist.

4
wolfaviators

Stellen Sie die Transparenz mit setAlpha(float alpha) ein. Der folgende Code funktioniert für mich, wenn ich im Float einen Alpha-Wert von 0 - 1 verwendet habe.

  • 0: voll transparent
  • 0,5 - 50%: Transparent
  • 1: voll undurchsichtig

    ImageView imageView = (ImageView) itemView.findViewById (R.id.imageView); ImageView.setImageResource (mResources [Position]); ImageView.setAlpha (.80f);

1
RajaSekar

Die Methode setAlpha(int) vom Typ ImageView ist veraltet.

Anstatt

image.setImageAlpha(127);
//value: [0-255]. Where 0 is fully transparent and 255 is fully opaque.
1
Iman Marashi

Verwenden Sie in XML Folgendes:

Android:background="@Android:color/transparent"
1
pankaj gehlot

Benutzen:

ImageView image = (ImageView) findViewById(R.id.image);
image.setAlpha(150); // Value: [0-255]. Where 0 is fully transparent
                     // and 255 is fully opaque. Set the value according
                     // to your choice, and you can also use seekbar to
                     // maintain the transparency.
0

Bei Image-Alpha wird ImageView nur auf Deckkraft gesetzt, wodurch Image verschwommen wird. Versuchen Sie, in ImageView ein Farbtonattribut hinzuzufügen

 Android:tint="#66000000"

Es kann auch programmgesteuert erfolgen:

imageView.setColorFilter(R.color.transparent);

wo Sie die transparente Farbe in colors.xml definieren müssen

<color name="transparent">#66000000</color>
0
Ajay Chauhan

Für 20% Transparenz funktionierte dies für mich:

Button bu = (Button)findViewById(R.id.button1);
bu.getBackground().setAlpha(204);
0
Muhamed Riyas M

Da setAlpha int veraltet ist, kann setImageAlpha (int) verwendet werden

ImageView img = (ImageView) findViewById(R.id.img_image);
img.setImageAlpha(127); //value: [0-255]. Where 0 is fully transparent and 255 is fully opaque.
0
Al-Punk