Я хочу удалить фон рисования (@ 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>
Попробуйте это
RelativeLayout relative = (RelativeLayout) findViewById(R.id.widget29); relative.setBackgroundResource(0);
Проверьте функции setBackground в документации RelativeLayout
setBackgroundResource(0) - лучший вариант.Из документации :
setBackgroundResource(0)
Установите фон для данного ресурса.Ресурс должен ссылаться на объект Drawable или 0, чтобы удалить фон .
Он работает везде, так как это начиная с API 1.
setBackground былодобавлен намного позже, в API 16, поэтому он не будет работать, если ваш minSdkVersion ниже 16.
setBackground
minSdkVersion
Это помогло мне убрать цвет фона, надеюсь, это кому-нибудь поможет. setBackgroundColor(Color.TRANSPARENT)
setBackgroundColor(Color.TRANSPARENT)
Попробуйте этот код:
imgView.setImageResource(android.R.color.transparent);
также этот работает:
imgView.setImageResource(0);
но будьте осторожны с этимне работает:
imgView.setImageResource(null);
Я пытаюсь это в Android 4 +:
view.setBackgroundDrawable(0);
Сначала вы должны написать
android:visibility="invisible" <!--or set VISIBLE-->
, а затем использовать это, чтобы показать
myimage.setVisibility(SHOW);//HIDE
Эта работа для меня:
yourview.setBackground(null);
В дополнение к отличным ответам, если вы хотите добиться этого с помощью xml, вы можете добавить:
android:background="@android:color/transparent
на ваш взгляд.
У меня есть сценарий случая, и я попробовал все ответы сверху, но всегда новый образ создавался поверх старого. Решение, которое сработало для меня:
imageView.setImageResource(R.drawable.image);
Используйте setBackgroundColor(Color.TRANSPARENT), чтобы установить прозрачный фон, или используйте setBackgroundColor(0). Здесь Color.TRANSPARENT является атрибутом по умолчанию из цветового класса. Это будет работать нормально.
setBackgroundColor(0)
Color.TRANSPARENT