Ответ 1
Попробуйте установить цвет фона на прозрачный:
view.setBackgroundColor(0x00000000);
Удаление фонового цвета в Android
Я установил backgroundColor
в код, подобный этому,
View.setBackgroundColor(0xFFFF0000);
Как удалить этот цвет фона в каком-либо событии?
Попробуйте установить цвет фона на прозрачный:
view.setBackgroundColor(0x00000000);
Вы можете использовать
View.setBackgroundColor(Color.TRANSPARENT);
или
View.setBackgroundColor(0);
Помните, что почти все видимое на экране расширение View, например, Button, TextView, ImageView, любой вид макета и т.д.
View.setBackgroundColor(0);
также работает. Нет необходимости ставить все эти нули.
Все ответы о настройке цвета на прозрачность будут работать технически. Но есть две проблемы с этими подходами:
Если вы посмотрите, как работает View.setBackgroundColor(int color)
, вы увидите довольно простое решение:
/**
* Sets the background color for this view.
* @param color the color of the background
*/
@RemotableViewMethod
public void setBackgroundColor(@ColorInt int color) {
if (mBackground instanceof ColorDrawable) {
((ColorDrawable) mBackground.mutate()).setColor(color);
computeOpaqueFlags();
mBackgroundResource = 0;
} else {
setBackground(new ColorDrawable(color));
}
}
Цвет int
просто преобразуется в ColorDrawable
, а затем передается в setBackground(Drawable drawable)
. Поэтому решение удалить фоновый цвет - это просто исключить фон с помощью:
myView.setBackground(null);