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 ...

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"

Hervorragende Lösung. Diese Antwort sollte als richtig markiert sein.
Vasudev Vyas

23

ImageButton.setBackgroundResource(0)


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

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.


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);



0
YourImageButton.setBackgroundColor(Color.TRANSPARENT);


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))
})
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.