Як видалити стандартне фонове зображення ImageButton?


81

В ImageButtonя хочу видалити стандартне фонове зображення кнопки. У http://developer.android.com сказано, що потрібно визначити власне фонове зображення або встановити прозорий колір фону. Я намагався встановити чорний фон, але це не дало жодного ефекту ...

Відповіді:



29

Найкращий вибір - не встановити прозорий фон для вашого ImageButton.

Надайте своєму користувачеві відгук, коли натискаєте кнопку.

android:background="?attr/selectableItemBackgroundBorderless"

1
Чудове рішення. цю відповідь слід позначити як правильну.
Vasudev Віас

23

ImageButton.setBackgroundResource(0)


Відмінно! Це рішення для програмного рішення рішення Мудасіра. Дякую!
SMBiggs

3
Це setBackgroundResource, а не setBackgroundResources. Використовуйте його так: ((ImageButton) findViewById (R.id.my_button)). SetBackgroundResource (0);
Квентін С.


4

використовуйте наступну властивість у своєму xml ImageButton:

android:background="@drawable/icon"

де піктограма - це назва зображення, яке зберігається у вашому малюнку.


Це більш чисте рішення, ніж встановлення srcта обнулення фону.
Christopher Pickslay

1

Dot't використовувати button.setBackgroundResource(0); на деяких пристроях ви отримаєте:

android.content.res.Resources $ NotFoundException: Ідентифікатор ресурсу # 0x0

Краще використання button.setBackgroundColor(Color.TRANSPARENT);





0

Використовуючи Kotlin, ви можете зробити це:

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))
})
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.