Entfernen Sie den Hintergrund, der programmgesteuert in Android gezeichnet werden kann

Lesezeit: 3 Minuten

Benutzer-Avatar
Emke

Ich möchte den Hintergrund Drawable entfernen @drawable/bg programmatisch. Gibt es eine Möglichkeit, das 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>

Benutzer-Avatar
Maragues

Versuche dies

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

Überprüfen Sie die setBackground-Funktionen in der RelativeLayout-Dokumentation

  • Ich bekomme diesen Fehler: Die Methode setBackgroundResource(int) im Typ View ist nicht anwendbar für die Argumente (null)

    – UKDataGeek

    13. Mai 2012 um 9:08 Uhr

  • Falls das nicht funktioniert: Überprüfen Sie, ob Sie die Eigenschaft background verwendet haben und nicht android:src!

    – Chris

    16. Oktober 2012 um 23:00 Uhr

  • setBackgroundDrawable ist jetzt veraltet. @Surajs Antwort unten ist jetzt besser.

    – Anand Sainath

    17. Februar 2013 um 11:19 Uhr

  • API16? Gibt es etwas für API 8?

    – Benutzer1940676

    24. September 2013 um 11:10 Uhr

  • Verwenden Sie setBackgroundResource(0). als Antwort von @AdamStelmaszczyk. ,

    – Zar E. Ahmer

    4. Juli 2014 um 6:22 Uhr

setBackgroundResource(0) ist die beste Option. Von dem Dokumentation:

Legen Sie den Hintergrund auf eine bestimmte Ressource fest. Die Ressource sollte sich auf ein Drawable-Objekt beziehen 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, daher funktioniert es nicht, wenn Ihre minSdkVersion ist kleiner als 16.

  • Danke, hat mich nach 4 Stunden Headbangen total gerettet. Dies ist sehr nützlich, wenn Sie dynamisch eine umschaltbare Schaltfläche (Auswahl aus 2 Drawables) in einem onClick-Ereignis erstellen, aber eine sichtbare Schaltfläche benötigen, die angezeigt werden soll, bevor Ihre umschaltbaren Schaltflächen übernehmen (weil nichts angezeigt wird, bis das Klickereignis eintritt, also wenn es passiert tut, können Sie verwenden setBackgroundResource(0) um Ihre frühere “Set”-Schaltfläche ausziehbar zu entfernen).

    – Azurespot

    4. Mai 2014 um 23:10 Uhr

  • Dies sollte die gewählte Antwort sein, da es sowohl in Bezug auf die Speicherverwaltung als auch auf die Unterstützung auf API-Ebene die beste Lösung ist.

    – gregtzar

    29. Mai 2014 um 20:52 Uhr

Dies hat mir geholfen, die Hintergrundfarbe zu entfernen, ich hoffe, es hilft jemandem.
setBackgroundColor(Color.TRANSPARENT)

  • Drawables können Polsterung haben, wenn Sie also den Hintergrund entfernen, müssen Sie auch die Polsterung entfernen.

    – Michael Kisiel

    13. Oktober 2014 um 17:30 Uhr

  • setBackgroundResource(0) ist die beste Option, da es den Hintergrund vollständig entfernt und somit die Überzeichnung reduziert.

    – Mailand

    26. Januar 2016 um 4:02 Uhr

Benutzer-Avatar
Adnan Abdollah Zaki

Versuchen Sie diesen Code:

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

auch dieser funktioniert:

imgView.setImageResource(0); 

aber Vorsicht, das funktioniert nicht:

imgView.setImageResource(null); 

Benutzer-Avatar
Salman666

Ich probiere diesen Code ein Android 4+:

view.setBackgroundDrawable(0);

  • Die Methode setBackgroundDrawable(Drawable) im Typ View ist für die Argumente (int) nicht anwendbar

    – Tobrun

    26. Juni 2013 um 8:42 Uhr

Benutzer-Avatar
Mahmudul

Beste Leistung bei dieser Methode:

imageview.setBackgroundResource(R.drawable.location_light_green);

Benutze das.

  • Die Methode setBackgroundDrawable(Drawable) im Typ View ist für die Argumente (int) nicht anwendbar

    – Tobrun

    26. Juni 2013 um 8:42 Uhr

Benutzer-Avatar
Jeel Schah

Wenn Sie dies zusätzlich zu den hervorragenden Antworten über XML erreichen möchten, können Sie Folgendes hinzufügen:

android:background="@android:color/transparent

zu deiner Ansicht.

1341670cookie-checkEntfernen Sie den Hintergrund, der programmgesteuert in Android gezeichnet werden kann

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy