Jak usunąć standardowy obraz tła ImageButton?

81

W ImageButtonChcę usunąć standardowy obraz tła przycisku. Na http://developer.android.com mówi się, że należy zdefiniować własny obraz tła lub ustawić przezroczysty kolor tła. Próbowałem ustawić czarne tło, ale nie dało to żadnego efektu ...

łomża
źródło

Odpowiedzi:

29

Najlepszym wyborem nie jest ustawienie przezroczystego tła ImageButton.

Przekaż użytkownikowi opinię, gdy przycisk zostanie dotknięty.

android:background="?attr/selectableItemBackgroundBorderless"
Filipe Brito
źródło
1
Doskonałe rozwiązanie. tę odpowiedź należy oznaczyć jako właściwą.
Vasudev Vyas
23

ImageButton.setBackgroundResource(0)

Piotr
źródło
Świetny! To jest rozwiązanie do programowego wykonywania rozwiązania Mudassir. Dziękuję Ci!
SMBiggs
3
Jest to setBackgroundResource, a nie setBackgroundResources. Użyj go w ten sposób: ((ImageButton) findViewById (R.id.my_button)). SetBackgroundResource (0);
Quentin S.
4

Nie, musi być przezroczysty, a nie czarny. Wypróbuj kolor: # 00FFFFFF

Zsombor Erdődy-Nagy
źródło
4

użyj następującej właściwości w swoim kodzie XML ImageButton:

android:background="@drawable/icon"

gdzie ikona to nazwa obrazu przechowywanego w twoim rysunku.

Dinesh Sharma
źródło
Jest to czystsze rozwiązanie niż ustawianie srci anulowanie tła.
Christopher Pickslay
1

Nie używaj button.setBackgroundResource(0); na niektórych urządzeniach otrzymasz:

android.content.res.Resources $ NotFoundException: identyfikator zasobu # 0x0

Lepsze wykorzystanie button.setBackgroundColor(Color.TRANSPARENT);

SpyZip
źródło
1

Posługiwać się:

android:background="@null"

w swoim układzie xml.

digitaldaemon
źródło
0
YourImageButton.setBackgroundColor(Color.TRANSPARENT);
AlBeebe
źródło
0
myButton.setBackgroundResource(0);
Lew
źródło
0

Korzystając z Kotlin, możesz to zrobić:

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
źródło