Comment rendre une image transparente sur Android?

j'utilise une disposition linéaire et une disposition de cadre. Dans la disposition linéaire, je garde une image en arrière-plan et dans la disposition de cadre, je garde une vue d'image. Dans cet imageView, je donne une image.

maintenant je veux rendre transparente la deuxième image (qui est dans imageView). Comment puis-je faire cela?

45
demandé sur Peter Mortensen 2011-02-22 15:22:32

10 réponses

essaye ceci:

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

Remarque::setAlpha(int) est déprécié en faveur de myImage.setAlpha(0.5f)

110
répondu Rubycon 2017-04-28 22:09:45

android:alpha est-ce en XML:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/blah"
    android:alpha=".75"/>
73
répondu Eric 2017-04-28 22:15:21

définir un attribut id sur L'ImageView:

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

dans votre code où vous souhaitez cacher l'image, vous aurez besoin du code suivant.

tout d'Abord, vous aurez besoin d'une référence à l'ImageView:

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

Ensuite, définir la Visibilité à DISPARU:

myImage.setVisibility(View.GONE);

si vous voulez avoir du code ailleurs qui le rend à nouveau visible, mettez-le de la même façon:

myImage.setVisibility(View.VISIBLE);

si vous voulez dire" entièrement transparent", le code ci-dessus fonctionne. Si vous voulez dire "partiellement transparent", utilisez la méthode suivante:

int alphaAmount = 128; // Some value 0-255 where 0 is fully transparent and 255 is fully opaque
myImage.setAlpha(alphaAmount);
4
répondu Rich 2017-04-28 22:11:07

si vous êtes dans un fichier XML, utilisez ce qui suit pour rendre votre imageview transparent!

 android:background="@null" 
4
répondu Karoly 2017-04-28 22:12:01

sur les nouvelles versions D'Android (Post Android 4.2 (Jelly Bean) au moins), la méthode setAlpha(int valeur) est dépréciée. Au lieu de cela, utilisez setAlpha(float value) méthode qui prend un flottant entre 0 et 1 où 0 est une transparence complète et 1 Pas de transparence.

3
répondu wolfaviators 2017-04-28 22:17:24

définir la transparence en utilisant setAlpha(float alpha). Le code ci - dessous fonctionne pour moi où j'ai utilisé une valeur alpha dans float, 0-1.

  • 0: Totalement Transparent
  • 0.5 - 50%: Transparent
  • 1: Entièrement Opaque

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

1
répondu RajaSekar 2017-04-28 22:21:57

en XML, utilisez:

android:background="@android:color/transparent"
1
répondu pankaj gehlot 2017-04-28 22:22:38

La méthode setAlpha(int) du type ImageView est déprécié.

au Lieu de

image.setImageAlpha(127);
//value: [0-255]. Where 0 is fully transparent and 255 is fully opaque.
0
répondu Iman Marashi 2016-04-15 17:45:39

pour 20% de transparence, cela a fonctionné pour moi:

Button bu = (Button)findViewById(R.id.button1);
bu.getBackground().setAlpha(204);
0
répondu Muhamed Riyas M 2017-04-28 22:12:43

Utilisation:

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
répondu Shubham Kamlapuri 2017-04-28 22:20:26