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>
Essaye ça
RelativeLayout relative = (RelativeLayout) findViewById(R.id.widget29);
relative.setBackgroundResource(0);
Vérifiez les fonctions setBackground dans la documentation RelativeLayout
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.
Cela m'a aidé à supprimer la couleur de fond, j'espère que cela aidera quelqu'un .setBackgroundColor(Color.TRANSPARENT)
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);
J'essaie ceci dans Android 4+:
view.setBackgroundDrawable(0);
Tout d'abord, vous devez écrire
Android:visibility="invisible" <!--or set VISIBLE-->
puis utilisez ceci pour le montrer
myimage.setVisibility(SHOW);//HIDE
Meilleure performance sur cette méthode:
imageview.setBackgroundResource(R.drawable.location_light_green);
Utilisez ceci.
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.
En plus des excellentes réponses, si vous voulez y parvenir via XML, vous pouvez ajouter:
Android:background="@Android:color/transparent
à votre vue.
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);
Ce travail pour moi:
yourview.setBackground(null);