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

Odpowiedzi:



29

Najlepszym wyborem nie jest ustawienie przezroczystego tła ImageButton.

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

android:background="?attr/selectableItemBackgroundBorderless"

1
Doskonałe rozwiązanie. tę odpowiedź należy oznaczyć jako właściwą.
Vasudev Vyas

23

ImageButton.setBackgroundResource(0)


Ś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

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.


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





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))
})
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.