Как установить прозрачный фон для кнопки изображения в коде? - PullRequest
73 голосов
/ 17 января 2011

Я могу установить прозрачность фона ImageButton в layout.xml, используя:

android:background="@android:color/transparent"

Как я могу выполнить то же самое, используя код Java?Что-то вроде ib.setBackgroundColor(???);

Ответы [ 7 ]

135 голосов
/ 17 января 2011

Это просто, только вы должны установить цвет фона как прозрачный

    ImageButton btn=(ImageButton)findViewById(R.id.ImageButton01);
    btn.setBackgroundColor(Color.TRANSPARENT);
28 голосов
/ 10 декабря 2012

Сделай это в своем xml

<ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageButtonSettings"
        android:layout_gravity="right|bottom"
        android:src="@drawable/tabbar_settings_icon"
        android:background="@android:color/transparent"/>
10 голосов
/ 20 февраля 2015

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

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

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

android:background="?android:selectableItemBackground"

Для этого требуется API 11

10 голосов
/ 17 января 2011

Это должно работать - imageButton.setBackgroundColor(android.R.color.transparent);

4 голосов
/ 18 июня 2014

Попробуйте вот так

ImageButton imagetrans=(ImageButton)findViewById(R.id.ImagevieID);

imagetrans.setBackgroundColor(Color.TRANSPARENT);

ИЛИ

включите это в свой XML-файл в res / layout

android:background="@android:color/transparent 
3 голосов
/ 13 марта 2014

просто используйте это в вашем макете кнопки изображения

android:background="@null"

с использованием

 android:background="@android:color/transparent 

или

 btn.setBackgroundColor(Color.TRANSPARENT);

не дает идеальной прозрачности

2 голосов
/ 09 апреля 2016

Если вы хотите использовать android R class

textView.setBackgroundColor(ContextCompat.getColor(getActivity(), android.R.color.transparent));

и не забудьте добавить библиотеку поддержки в файл Gradle

compile 'com.android.support:support-v4:23.3.0'
...