Définir fond transparent d'un imageview sur Android
-
18-09-2019 - |
Question
J'utilise une vue web où j'ajoute une vue de l'image. Comment puis-je mettre l'arrière-plan de ce point de vue de l'image à la transparence?
J'ai essayé ceci:
mImageview.setBackgroundResource(R.color.trans);
Où trans
→ <color name="trans">#00000000 </color>
.
La solution
Dans votre XML définir l'attribut Background
à toute couleur, ombre White(#FFFFFF)
ou ombre Black(#000000)
. Si vous voulez la transparence, il suffit de mettre 80 avant le code de hachage réelle:
#80000000
Cela changera la couleur que vous voulez un transparent ..:)
Autres conseils
Vous pouvez définir le fond transparent de toute disposition, toute vue ou tout composant en ajoutant ce code XML:
android:background="@android:color/transparent"
En plus de ce Harshad mentionné:
Deux caractères hexadécimaux peuvent être ajoutés à un code de couleur hexadécimal. Les deux premiers caractères en un code de couleur hexadécimal à 8 chiffres représentent l'opacité dans les applications.
Les deux caractères hexadécimaux peuvent aller de 00 à FF. Par exemple,
- Normal hex- noir opaque "de # 000000"
- Entièrement transparent - "# 00000000"
- Entièrement opaque - "# FF000000"
- 50% transparent - "# 7F000000"
De cette façon, vous pouvez modifier la couleur à un niveau de transparence.
Pour trouver le préfixe hexadécimal d'un pourcentage:
Diviser le nombre en pourcentage par 100 et multiplier par 255 pour obtenir la valeur décimale. Convertir le nombre décimal en hexadécimal .
Par exemple, pour 50%, 50/100 * 255 = 127. En utilisant le lien nous obtenons la valeur hexadécimale 7F.
Utilisez le code ci-dessous pour le noir:
<color name="black">#000000</color>
Maintenant, si vous voulez utiliser l'opacité, vous pouvez utiliser le code ci-dessous:
<color name="black">#99000000</color>
Et ci-dessous pour le code d'opacité:
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
en utilisant ce code de couleur transparente
android:background="@android:color/transparent"
Il existe déjà une constante prédéfinie. Utilisez Color.TRANSPARENT
.
Il est déjà intégré dans Android transparent: R.color.transparent. http://developer.android.com/reference/android/R.color .html # transparent
Mais je pense que vous voudrez peut-être faire l'arrière-plan de l'image que vous placez dans la transparence WebView, par exemple, avec un PNG transparent, plutôt que l'arrière-plan ImageView. Si l'image réelle est pas du tout voir à travers l'arrière-plan puis ImageView ne peut être vu à travers elle.
Dans le cas où vous voulez dans le code, il suffit:
mComponentName.setBackgroundColor(Color.parseColor("#80000000"));
Ou, comme alternative, analyser l'ID de ressource avec le code suivant:
mComponentName.setBackgroundColor(getResources().getColor(android.R.color.transparent));
Pour ceux qui sont encore confrontés à ce problème, vous pouvez essayer
element.getBackground().setAlpha(0);
Dans votre fichier XML, définissez un attribut "Alpha"
comme
android:alpha="0.0" // for transparent
android:alpha="1.0" // for opaque
Vous pouvez donner une valeur comprise entre 0,0 à 1,0 en décimal pour appliquer la transparence requise. Par exemple, la transparence 0,5 est idéal pour composant désactivé
Essayez ce code:)
Il est un code hexadécimal totalement transparent - "# 00000000"
Une autre façon simple:
mComponentName.setBackgroundResource(android.R.color.transparent);
Une autre option de travail, je suis tombé est de mettre android:background="@null"
Utilisez les éléments suivants pour la transparence complète:
#00000000
Quand j'ai essayé avec # 80000000 Je suis un charbonné transparent que je ne veux pas. Essayez de changer les deux premiers chiffres; il contrôle le niveau de transparence, comme
#00000000
#10000000
#20000000
#30000000
Vous pouvez également utiliser View.setAlpha(float)
pour changer la visibilité avec précision.
0 serait transparent, une entièrement visible. ;)
Essayez d'utiliser le code suivant. Il vous aidera en tout ou plus.
-
Un fichier .xml conçu pour utiliser ce code pour définir la couleur de fond:
android:background="#000000"
ou
android:background="#FFFFFF"
Ou vous pouvez le configurer par programme ainsi.
-
Vous pouvez également utiliser ce code programme:
image.setBackgroundDrawable(getResources().getDrawable( R.drawable.llabackground));
-
En outre ce code pour définir la couleur d'arrière-plan et programme:
image.setBackgroundColor(Color.parseColor("#FFFFFF"));
-
Ce code pour le même programme:
image.setBackgroundColor(getResources().getColor(Color.WHITE));
La couleur dépend de votre choix de la couleur que vous souhaitez utiliser pour la transparence. La plupart du temps utiliser une couleur blanche ou #FFFFFF.
En ce qui concerne R.drawable.llabackground
: Cette ligne de code est pour votre style de l'arrière-plan, comme quelque chose de spécial ou différent pour votre but. Vous pouvez également l'utiliser.
ImageView.setBackground(R.drawable.my_background);
ImageView.setBackgroundResource(R.color.colorPrimary);
ImageView.getImageAlpha();
ImageView.setAlpha(125); // transparency
Essayez ceci:
#aa000000
Pour la transparence 000000 = noir, vous pouvez modifier ces six chiffres pour la couleur que vous voulez.