Ответ 1
Попробуйте использовать значение null для фона...
android:background="@null"
<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.
Пожалуйста, помогите.
Попробуйте использовать значение null для фона...
android:background="@null"
НЕ ИСПОЛЬЗУЙТЕ ТРАНСФЕРНЫЙ ИЛИ NULL LAYOUT, потому что тогда кнопка (или общий вид) больше не будет выделяться при щелчке мышью!!!
У меня была такая же проблема, и, наконец, я нашел правильный атрибут из Android API, чтобы решить эту проблему. Он может применяться к любому виду.
Используйте это в настройках кнопки:
android:background="?android:selectableItemBackground"
Вы также можете использовать прозрачный цвет:
android:background="@android:color/transparent"
Настройка фона на "@null"
приведет к тому, что кнопка не будет действовать при нажатии. Это будет лучший выбор.
style="?android:attr/borderlessButtonStyle"
Позже я обнаружил, что используя
android:background="?android:attr/selectableItemBackground"
также является хорошим решением. И вы можете наследовать этот атрибут в своем собственном стиле.
во время выполнения, вы можете использовать следующий код
btn.setBackgroundDrawable(null);
Я считаю, что принятый ответ должен быть:
android:background="?attr/selectableItemBackground"
Это то же самое, что и ответ @lory105, но он использует библиотеку поддержки для максимальной совместимости (эквивалент android:
доступен только для API >= 11)
Удалите эту строку:
android:background="@drawable/transparent">
И в вашем классе активности
ImageButton btn = (ImageButton)findViewById(R.id.previous);
btn.setAlpha(100);
Вы можете установить альфа-уровень от 0 до 255
o означает прозрачность и 255 означает непрозрачность.
Лучший способ - использовать прозрачный цветовой код
android:background="#00000000"
используйте цветовой код # 00000000 для создания прозрачной вещи
Используйте ImageView
... по умолчанию прозрачный фон...
Используйте это:
<ImageButton
android:id="@+id/back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:padding="10dp"
android:src="@drawable/backbtn" />
Просто используйте этот код в файле .java
:
ImageButton btn = (ImageButton) findViewById(R.id.ImageButton01);
btn.setBackgroundColor(Color.TRANSPARENT);
Установите фон ImageButton как @null в XML
<ImageButton android:id="@+id/previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/media_skip_backward"
android:background="@null"></ImageButton>
Используйте "@null" . Это сработало для меня.
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/bkash"
android:id="@+id/bid1"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:background="@null" />
Это android:background="@android:color/transparent"
<ImageButton
android:id="@+id/imageButton"
android:src="@android:drawable/ic_menu_delete"
android:background="@android:color/transparent"
/>
Я уже что-то добавлял в фон, так что у меня это сработало:
android:backgroundTint="@android:color/transparent"
(Android Studio 3.4.1)
РЕДАКТИРОВАТЬ: работает только на Android API уровня 21 и выше. для совместимости используйте это вместо
android:background="@android:color/transparent"
Программно можно выполнить:
image_button.setAlpha(0f) // to make it full transparent
image_button.setAlpha(0.5f) // to make it half transparent
image_button.setAlpha(0.6f) // to make it (40%) transparent
image_button.setAlpha(1f) // to make it opaque
Это программно задается цвет фона как прозрачный
ImageButton btn=(ImageButton)findViewById(R.id.ImageButton01);
btn.setBackgroundColor(Color.TRANSPARENT);
В вашем XML-атрибуте Background
для любого оттенка цвета White(#FFFFFF)
или Black(#000000)
shade.if вы хотите, чтобы прозрачность просто помещала 80 до фактического хеш-кода.
#80000000
<ImageButton
android:id="@+id/previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/media_skip_backward">
</ImageButton>
Я использовал прозрачный png
для ImageButton
, а ImageButton
работал.