N'y a-t-il vraiment pas d'attribut XML correspondant à setAlpha(int)
?
Si non, quelles sont les alternatives?
Non, non, voir comment la section "Attributs XML associés" est manquante dans ImageView.setAlpha (int) Documentation. L'alternative consiste à utiliser View.setAlpha (float) dont contrepartie XML est Android:alpha
. Il prend une plage de 0,0 à 1,0 au lieu de 0 à 255. Utilisez-le, par exemple. comme
<ImageView Android:alpha="0.4">
Cependant, ce dernier n'est disponible que depuis le niveau 11 de l'API.
C'est plus facile que l'autre réponse. Il existe une valeur XML alpha
qui prend une double valeur.
Android:alpha="0.0"
c'est invisible
Android:alpha="0.5"
voir à travers
Android:alpha="1.0"
entièrement visible
Ça fonctionne comme ça.
Je ne suis pas sûr du XML, mais vous pouvez le faire par code de la manière suivante.
ImageView myImageView = new ImageView(this);
myImageView.setAlpha(xxx);
En pré-API 11:
Dans API 11+:
Peut-être une alternative utile pour un fond de couleur unie:
Placez un LinearLayout sur le ImageView et utilisez le LinearLayout en tant que filtre d'opacité. Ci-dessous, un petit exemple avec un fond noir:
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/layout"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="#FF000000" >
<RelativeLayout
Android:id="@+id/relativeLayout2"
Android:layout_width="match_parent"
Android:layout_height="wrap_content" >
<ImageView
Android:id="@+id/imageView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:src="@drawable/icon_stop_big" />
<LinearLayout
Android:id="@+id/opacityFilter"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:background="#CC000000"
Android:orientation="vertical" >
</LinearLayout>
</RelativeLayout>
Variez le Android: attribut de fond de LinearLayout entre # 00000000 (totalement transparent) et # FF000000 (totalement opaque).
Il existe maintenant une alternative XML:
<ImageView
Android:id="@+id/example"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:src="@drawable/example"
Android:alpha="0.7" />
C'est: Android: alpha = "0.7"
Avec une valeur de 0 (transparent) à 1 (opaque).
utilisez Android: alpha = 0.5 pour atteindre l'opacité de 50% et activer Android les icônes de matériau de noir à gris.
Utilisez ce formulaire pour l'ancienne version d'Android.
ImageView myImageView;
myImageView = (ImageView) findViewById(R.id.img);
AlphaAnimation alpha = new AlphaAnimation(0.5F, 0.5F);
alpha.setDuration(0);
alpha.setFillAfter(true);
myImageView.startAnimation(alpha);
setAlpha(int)
est obsolète en tant qu'API 16
: Android 4.1
Veuillez utiliser setImageAlpha(int)
à la place
L'alpha peut être défini avec la couleur en utilisant le format hexadécimal suivant: #ARGB ou #AARRGGBB. Voir http://developer.Android.com/guide/topics/resources/color-list-resource.html