Wie entferne ich das Standard-Hintergrundbild von ImageButton?

80

In ImageButtonIch möchte das Hintergrundbild der Standardschaltfläche entfernen. In http://developer.android.com heißt es, man müsse sein eigenes Hintergrundbild definieren oder die Hintergrundfarbe transparent einstellen. Ich habe versucht, einen schwarzen Hintergrund festzulegen, aber es hat keinen Effekt ...

Lomza
quelle

Antworten:

28

Die beste Wahl ist, keinen transparenten Hintergrund für Ihre zu setzen ImageButton.

Geben Sie Ihrem Benutzer ein Feedback, wenn Sie auf die Schaltfläche tippen.

android:background="?attr/selectableItemBackgroundBorderless"
Filipe Brito
quelle
Hervorragende Lösung. Diese Antwort sollte als richtig markiert sein.
Vasudev Vyas
23

ImageButton.setBackgroundResource(0)

Peter
quelle
Ausgezeichnet! Dies ist die Lösung für die programmgesteuerte Ausführung von Mudassirs Lösung. Vielen Dank!
SMBiggs
3
Es ist setBackgroundResource, nicht setBackgroundResources. Verwenden Sie es folgendermaßen: ((ImageButton) findViewById (R.id.my_button)). SetBackgroundResource (0);
Quentin S.
4

Nein, es muss transparent sein, nicht schwarz. Versuchen Sie Farbe: # 00FFFFFF

Zsombor Erdődy-Nagy
quelle
4

Verwenden Sie die folgende Eigenschaft in Ihrer XML-Datei von ImageButton:

android:background="@drawable/icon"

Dabei ist das Symbol der Name des Bildes, das in Ihrem Zeichenbild gespeichert ist.

Dinesh Sharma
quelle
Dies ist eine sauberere Lösung als das Setzen srcund Nullstellen des Hintergrunds.
Christopher Pickslay
1

Nicht verwenden button.setBackgroundResource(0); Auf einigen Geräten erhalten Sie:

android.content.res.Resources $ NotFoundException: Ressourcen-ID # 0x0

Besser nutzen button.setBackgroundColor(Color.TRANSPARENT);

SpyZip
quelle
1

Verwenden:

android:background="@null"

in Ihrem Layout xml.

digitaldaemon
quelle
0
YourImageButton.setBackgroundColor(Color.TRANSPARENT);
AlBeebe
quelle
0
myButton.setBackgroundResource(0);
Löwe
quelle
0

Mit Kotlin können Sie Folgendes tun:

val myImageButton = ImageButton(context).apply({
    background = null

    // and if you need to add drawable, simply use:

    setImageDrawable(ContextCompat.getDrawable(context, 
                         R.drawable.ic_save_black_24px))
})
Hasan A Yousef
quelle