Удалить фоновый рисунок в Android - PullRequest
119 голосов
/ 26 июля 2011

Я хочу удалить фон рисования (@ drawable / bg) программно.Есть способ сделать это?

В настоящее время у меня есть следующий XML в моем макете:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/widget29"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/bg">

</RelativeLayout>

Ответы [ 11 ]

280 голосов
/ 26 июля 2011

Попробуйте это

RelativeLayout relative = (RelativeLayout) findViewById(R.id.widget29);
relative.setBackgroundResource(0);

Проверьте функции setBackground в документации RelativeLayout

65 голосов
/ 05 марта 2014

setBackgroundResource(0) - лучший вариант.Из документации :

Установите фон для данного ресурса.Ресурс должен ссылаться на объект Drawable или 0, чтобы удалить фон .

Он работает везде, так как это начиная с API 1.

setBackground былодобавлен намного позже, в API 16, поэтому он не будет работать, если ваш minSdkVersion ниже 16.

47 голосов
/ 26 сентября 2012

Это помогло мне убрать цвет фона, надеюсь, это кому-нибудь поможет. setBackgroundColor(Color.TRANSPARENT)

4 голосов
/ 03 апреля 2016

Попробуйте этот код:

imgView.setImageResource(android.R.color.transparent); 

также этот работает:

imgView.setImageResource(0); 

но будьте осторожны с этимне работает:

imgView.setImageResource(null); 
3 голосов
/ 23 апреля 2013

Я пытаюсь это в Android 4 +:

 view.setBackgroundDrawable(0);
1 голос
/ 26 июля 2011

Сначала вы должны написать

 android:visibility="invisible" <!--or set VISIBLE-->

, а затем использовать это, чтобы показать

 myimage.setVisibility(SHOW);//HIDE                                       
0 голосов
/ 14 октября 2017

Эта работа для меня:

yourview.setBackground(null);
0 голосов
/ 02 мая 2017

В дополнение к отличным ответам, если вы хотите добиться этого с помощью xml, вы можете добавить:

android:background="@android:color/transparent

на ваш взгляд.

0 голосов
/ 27 декабря 2015

У меня есть сценарий случая, и я попробовал все ответы сверху, но всегда новый образ создавался поверх старого. Решение, которое сработало для меня:

imageView.setImageResource(R.drawable.image);
0 голосов
/ 05 декабря 2014

Используйте setBackgroundColor(Color.TRANSPARENT), чтобы установить прозрачный фон, или используйте setBackgroundColor(0). Здесь Color.TRANSPARENT является атрибутом по умолчанию из цветового класса. Это будет работать нормально.

...