web-dev-qa-db-fra.com

Supprimer l'arrière-plan dessinable par programme dans Android

Je veux supprimer le dessinable d'arrière-plan (@ drawable/bg) par programme. Y-a-t-il un moyen de faire ça? 

Actuellement, j'ai le code XML suivant dans ma mise en page:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
Android:id="@+id/widget29"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:background="@drawable/bg">

</RelativeLayout>
118
Emkey

Essaye ça 

RelativeLayout relative = (RelativeLayout) findViewById(R.id.widget29);
relative.setBackgroundResource(0);

Vérifiez les fonctions setBackground dans la documentation RelativeLayout

271
Maragues

setBackgroundResource(0) est la meilleure option. De la documentation :

Définissez l'arrière-plan sur une ressource donnée. La ressource doit faire référence à un Objet pouvant être dessiné ou 0 pour supprimer l’arrière-plan.

Cela fonctionne partout car c'est depuis l'API 1.

setBackground a été ajouté beaucoup plus tard, dans l'API 16, donc cela ne fonctionnera pas si votre minSdkVersion est inférieur à 16.

63

Cela m'a aidé à supprimer la couleur de fond, j'espère que cela aidera quelqu'un .setBackgroundColor(Color.TRANSPARENT)

47
Suraj Bajaj

Essayez ce code:

imgView.setImageResource(Android.R.color.transparent); 

aussi celui-ci fonctionne:

imgView.setImageResource(0); 

mais attention cela ne fonctionne pas:

imgView.setImageResource(null); 
4

J'essaie ceci dans Android 4+:

 view.setBackgroundDrawable(0);
3
Salman666

Tout d'abord, vous devez écrire 

 Android:visibility="invisible" <!--or set VISIBLE-->

puis utilisez ceci pour le montrer 

 myimage.setVisibility(SHOW);//HIDE                                       
2
SRam

Meilleure performance sur cette méthode:

imageview.setBackgroundResource(R.drawable.location_light_green);

Utilisez ceci.

0
Mahmudul

Utilisez setBackgroundColor(Color.TRANSPARENT) pour définir l’arrière-plan transparent, ou utilisez setBackgroundColor(0). Ici, Color.TRANSPARENT est l'attribut par défaut de la classe de couleur. Cela fonctionnera bien.

0
anand krish

En plus des excellentes réponses, si vous voulez y parvenir via XML, vous pouvez ajouter:

Android:background="@Android:color/transparent

à votre vue.

0
Jeel Shah

J'ai un scénario et j'ai essayé toutes les réponses d'en haut, mais toujours une nouvelle image a été créée par-dessus l'ancienne La solution qui a fonctionné pour moi est la suivante:

imageView.setImageResource(R.drawable.image);
0
Đorđe Nilović

Ce travail pour moi:

yourview.setBackground(null);
0
lscofield