web-dev-qa-db-ja.com

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>
122
Emkey

これを試して

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

RelativeLayout documentation のsetBackground関数を確認してください

286
Maragues

setBackgroundResource(0)が最適なオプションです。 ドキュメント から:

特定のリソースに背景を設定します。リソースは、Drawableオブジェクトを参照するか、0を参照して背景を削除する必要があります

API 1以降なので、どこでも動作します。

setBackgroundはかなり後のAPI 16で追加されたため、minSdkVersionが16未満の場合は機能しません。

67

これにより、背景色を削除できました。 setBackgroundColor(Color.TRANSPARENT)

47
Suraj Bajaj

このコードを試してください:

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

これも動作します:

imgView.setImageResource(0); 

ただし、これが機能しないことに注意してください:

imgView.setImageResource(null); 
4

私はこれをAndroid 4+で試します:

 view.setBackgroundDrawable(0);
3
Salman666

まず、書く必要があります

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

次に、これを使用して表示します

 myimage.setVisibility(SHOW);//HIDE                                       
1
SRam

この方法で最高のパフォーマンス:

imageview.setBackgroundResource(R.drawable.location_light_green);

これを使って。

0
Mahmudul

setBackgroundColor(Color.TRANSPARENT)を使用して背景を透明に設定するか、setBackgroundColor(0)を使用します。ここで、Color.TRANSPARENTはカラークラスのデフォルト属性です。それはうまく動作します。

0
anand krish

優れた答えに加えて、xmlでこれを実現したい場合は、次を追加できます。

Android:background="@Android:color/transparent

あなたの意見に。

0
Jeel Shah

ケースシナリオがあり、上記のすべての回答を試しましたが、古いイメージの上に常に新しいイメージが作成されました。私のために働いた解決策は次のとおりです。

imageView.setImageResource(R.drawable.image);
0

私のこの仕事:

yourview.setBackground(null);
0
lscofield