Chcę @drawable/bg
programowo usunąć tło do rysowania . Czy jest na to sposób?
Obecnie mam następujący kod XML w moim układzie:
<?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>
android
layout
background
Emkey
źródło
źródło
setBackgroundResource(0)
to najlepsza opcja. Z dokumentacji :Działa wszędzie, ponieważ jest od API 1.
setBackground
został dodany znacznie później, w API 16, więc nie będzie działać, jeśli maszminSdkVersion
mniej niż 16.źródło
setBackgroundResource(0)
aby usunąć swój wcześniejszy przycisk „set” do rysowania).Pomogło mi to usunąć kolor tła, mam nadzieję, że komuś pomoże.
setBackgroundColor(Color.TRANSPARENT)
źródło
Wypróbuj ten kod:
imgView.setImageResource(android.R.color.transparent);
też ten działa:
imgView.setImageResource(0);
ale uważaj, ten nie działa:
imgView.setImageResource(null);
źródło
Wypróbowuję ten kod na Androidzie 4+ :
view.setBackgroundDrawable(0);
źródło
Najlepsza wydajność tej metody:
imageview.setBackgroundResource(R.drawable.location_light_green);
Użyj tego.
źródło
Ta praca dla mnie:
yourview.setBackground(null);
źródło
Użyj,
setBackgroundColor(Color.TRANSPARENT)
aby ustawić przezroczyste tło lub użyjsetBackgroundColor(0)
. OtoColor.TRANSPARENT
domyślny atrybut z klasy koloru. Będzie działać dobrze.źródło
Mam scenariusz przypadku i wypróbowałem wszystkie odpowiedzi z góry, ale zawsze nowy obraz był tworzony na starym. Rozwiązanie, które zadziałało dla mnie to:
imageView.setImageResource(R.drawable.image);
źródło
Oprócz doskonałych odpowiedzi, jeśli chcesz to osiągnąć za pomocą XML, możesz dodać:
android:background="@android:color/transparent
do twojego widoku.
źródło
Najpierw musisz napisać w układzie XML:
android:visibility="invisible" <!--or set VISIBLE-->
następnie użyj tego, aby pokazać to za pomocą Java:
myimage.setVisibility(SHOW); //HIDE
źródło