Как иметь прозрачную кнопку ImageButton: Android - PullRequest
465 голосов
/ 04 августа 2010
<ImageButton android:id="@+id/previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/media_skip_backward"
android:background="@drawable/transparent"></ImageButton>

Это то, что я пытался получить прозрачную кнопку ImageButton, чтобы поместить эти кнопки в SurfaceView.Но Eclipse выдает мне ошибку в проекте, как только я включаю прозрачную линию в xml.

Ответы [ 18 ]

946 голосов
/ 04 августа 2010

Попробуйте использовать ноль для фона ...

android:background="@null"
274 голосов
/ 30 августа 2013

НЕ ИСПОЛЬЗУЙТЕ ПРОЗРАЧНЫЙ ИЛИ НУЛЕВОЙ ПЛАН , потому что тогда кнопка (или общий вид) больше не будет выделяться при щелчке !!!

У меня была та же проблема, и, наконец, Я нашел правильный атрибут из Android API , чтобы решить эту проблему. Может применяться к любому виду.

Используйте это в технических характеристиках кнопки:

android:background="?android:selectableItemBackground"
134 голосов
/ 09 июля 2011

Вы также можете использовать прозрачный цвет:

android:background="@android:color/transparent"
108 голосов
/ 19 апреля 2013

При установке фона на "@null" кнопка не будет действовать при нажатии. Это будет лучшим выбором.

style="?android:attr/borderlessButtonStyle"

Позже я обнаружил, что используя

android:background="?android:attr/selectableItemBackground"

также является хорошим решением. И вы можете наследовать этот атрибут в своем собственном стиле.

14 голосов
/ 18 января 2012

во время выполнения, вы можете использовать следующий код

btn.setBackgroundDrawable(null);
11 голосов
/ 29 января 2016

Я считаю, что принятый ответ должен быть: android:background="?attr/selectableItemBackground"

Это то же самое, что и ответ @ lory105, но для максимальной совместимости используется библиотека поддержки (эквивалент android: доступен только для API> = 11)

8 голосов
/ 04 августа 2010

Удалите эту строку:

android:background="@drawable/transparent">

И в своем классе активности установите

ImageButton btn = (ImageButton)findViewById(R.id.previous);
btn.setAlpha(100);

Вы можете установить уровень альфа 0 до 255

o означает прозрачный и 255значит непрозрачный.

5 голосов
/ 11 октября 2014

Лучше всего использовать прозрачный цветовой код

android:background="#00000000"

используйте цветовой код # 00000000, чтобы сделать любую вещь прозрачной

2 голосов
/ 23 февраля 2012

Использовать ImageView ... по умолчанию прозрачный фон ...

1 голос
/ 05 марта 2019

Это android:background="@android:color/transparent"

<ImageButton
    android:id="@+id/imageButton"
    android:src="@android:drawable/ic_menu_delete"
    android:background="@android:color/transparent"
/>
...