Подтвердить что ты не робот

Удалять фоновые рисунки программно в Android

Я хочу программно удалить фоновый рисунок (@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>
4b9b3361

Ответ 1

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

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

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

Ответ 2

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

Установите фон для заданного ресурса. Ресурс должен ссылаться на Drawable object или 0 для удаления фона.

Он работает везде, потому что он с API 1.

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

Ответ 3

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

Ответ 4

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

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

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

imgView.setImageResource(0); 

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

imgView.setImageResource(null); 

Ответ 5

Во-первых, вам нужно написать

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

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

 myimage.setVisibility(SHOW);//HIDE                                       

Ответ 6

Я пробую это в android 4 +:

 view.setBackgroundDrawable(0);

Ответ 7

Наилучшая производительность по этому методу:

imageview.setBackgroundResource(R.drawable.location_light_green);

Используйте это.

Ответ 8

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

Ответ 9

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

imageView.setImageResource(R.drawable.image);

Ответ 10

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

android:background="@android:color/transparent

к вашему представлению.

Ответ 11

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

yourview.setBackground(null);