<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.
Пожалуйста помоги.
android
transparent
imagebutton
surfaceview
Namratha
источник
источник
Ответы:
Попробуйте использовать ноль для фона ...
источник
SurfaceView
Должно позволять вам размещать кнопки над поверхностью, но обратите внимание: «Это можно использовать для размещения наложений, таких как кнопки, на поверхности, хотя учтите, однако, что это может повлиять на производительность, поскольку полное альфа-смешивание композит будет выполняться каждый раз, когда поверхность меняется. " от developer.android.com/reference/android/view/SurfaceView.htmlНЕ ИСПОЛЬЗУЙТЕ ПРОСТРАНСТВЕННЫЙ ИЛИ НУЛЕВОЙ ПЛАН, потому что тогда кнопка (или общий вид) больше не будет выделяться при нажатии кнопки !!!
Используйте это в спецификации кнопок:
источник
android:background="?android:selectableItemBackgroundBorderless"
Вы также можете использовать прозрачный цвет:
источник
Developer option: Show GPU overdraw
и увидеть разницу между установкой фона@null
и@android:color/transparent
.Установка фона на
"@null"
заставит кнопку не иметь никакого эффекта при нажатии. Это будет лучшим выбором.Позже я обнаружил, что с помощью
тоже хорошее решение. И вы можете наследовать этот атрибут в своем собственном стиле.
источник
selectableItemBackground
имеет дополнительное преимущество, заключающееся в изменении состояния кнопки при нажатии. Другие решения делают эту кнопку неактивной.во время выполнения вы можете использовать следующий код
источник
Я считаю, что принятый ответ должен быть:
android:background="?attr/selectableItemBackground"
Это то же самое, что и ответ @ lory105, но он использует библиотеку поддержки для максимальной совместимости (
android:
эквивалент доступен только для API> = 11)источник
Удалить эту строку:
И в вашем классе активности набор
Вы можете установить альфа-уровень от 0 до 255
o означает прозрачный, а 255 означает непрозрачный.
источник
Лучший способ - использовать прозрачный цветовой код
используйте цветовой код # 00000000, чтобы сделать любую вещь прозрачной
источник
@android:color/transparent
без жестко закодированных значений.@android:
ссылки непосредственно в макете считается жестко закодированным значением, поскольку, если вы хотите изменить его, вам все равно придется поискать его в макете. Я бы объявил что-то вроде этого<item name="something">@android:color/transparent</item>
и использовал бы мое собственное значение в макете, чтобы я мог легко найти его в своем файле resources.xml и изменить его без необходимости искать его в макетеИспользуйте
ImageView
... по умолчанию прозрачный фон ...источник
Я уже что-то добавлял в фон, так что эта вещь работала для меня:
(Android Studio 3.4.1)
РЕДАКТИРОВАТЬ : работает только на Android API уровня 21 и выше. для совместимости используйте это вместо
источник
Использовать этот:
источник
Установите фон ImageButton как @null в XML
источник
Используйте "@null" . Это сработало для меня.
источник
Это
android:background="@android:color/transparent"
источник
Это программно установлен цвет фона как прозрачный
источник
Программно это может быть сделано:
источник
android:background="@drawable/transparent"
). В любом случае, я просто предлагаю возможную причину понижения голосов; Я не говорю, что это оправдано.В вашем
Background
атрибуте XML установите любой цветовойWhite(#FFFFFF)
оттенок илиBlack(#000000)
shade.if, если вы хотите прозрачности, просто поставьте 80 перед фактическим хеш-кодом.источник
Я использовал прозрачный
png
для тогоImageButton
, и тотImageButton
работал.источник