Ich möchte den Hintergrund (@ drawable/bg) programmierbar entfernen. Gibt es eine Möglichkeit, dies zu tun?
Derzeit habe ich folgendes XML in meinem Layout:
<?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>
Versuche dies
RelativeLayout relative = (RelativeLayout) findViewById(R.id.widget29);
relative.setBackgroundResource(0);
Überprüfen Sie die setBackground-Funktionen in der RelativeLayout-Dokumentation .
setBackgroundResource(0)
ist die beste Option. Aus der Dokumentation :
Legen Sie den Hintergrund auf eine bestimmte Ressource fest. Die Ressource sollte sich auf eine .__ beziehen. Zeichenbares Objekt oder 0, um den Hintergrund zu entfernen.
Es funktioniert überall, weil es seit API 1 ist.
setBackground
wurde viel später in API 16 hinzugefügt. Es funktioniert also nicht, wenn Ihre minSdkVersion
unter 16 liegt.
Dies hat mir geholfen, die Hintergrundfarbe zu entfernen. Ich hoffe, es hilft jemandem .setBackgroundColor(Color.TRANSPARENT)
Versuchen Sie diesen Code:
imgView.setImageResource(Android.R.color.transparent);
auch das funktioniert:
imgView.setImageResource(0);
aber sei vorsichtig, das funktioniert nicht:
imgView.setImageResource(null);
Ich versuche das in Android 4+:
view.setBackgroundDrawable(0);
Zuerst musst du schreiben
Android:visibility="invisible" <!--or set VISIBLE-->
dann verwenden Sie dies, um es anzuzeigen
myimage.setVisibility(SHOW);//HIDE
Beste Leistung bei dieser Methode:
imageview.setBackgroundResource(R.drawable.location_light_green);
Benutze das.
Verwenden Sie setBackgroundColor(Color.TRANSPARENT)
, um den Hintergrund transparent zu machen, oder verwenden Sie setBackgroundColor(0)
. Hier ist Color.TRANSPARENT
das Standardattribut der Farbklasse. Es wird gut funktionieren.
Zusätzlich zu den hervorragenden Antworten können Sie Folgendes hinzufügen, wenn Sie dies über XML erreichen möchten:
Android:background="@Android:color/transparent
ihrer Ansicht nach.
Ich habe ein Fallszenario und habe alle Antworten von oben ausprobiert, aber immer wurde ein neues Bild über das alte erstellt. Die Lösung, die für mich funktioniert hat, ist:
imageView.setImageResource(R.drawable.image);
Diese Arbeit für mich:
yourview.setBackground(null);