2011-07-17 10 views
1

私のアプリに背景があり、それは何らかのイベントの後で変更する必要があります。だから、どうしたらいいの?アンドロイドアプリケーションで背景イメージを変更するには?

main.xml:

<AbsoluteLayout 
android:id="@+id/widget0" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:background="@drawable/bg"> 

、そこに背景を変更する必要があります。

if(a<b) *change background to bg2.jpg goes here* 

助けてくださいと私の英語

+0

絶対に使用しないことを強く推奨します。 – PravinCG

答えて

2

のため申し訳ありません私はあなたが絶対レイアウトを使用していることがわかります。したがって、新しいAbsoluteLayoutオブジェクトをインスタンス化するだけです。ところで

AbsoluteLayout al = (AbsoluteLayout) findViewById(R.id.widget0); 
//This function will change background drawable, so place it where you want. 
al.setBackgroundDrawable(yourDrawableID); 

、あなたもRESOURCEIDで

al.setBackgroundResource(resourceID); 

を行うことができますが、背景を削除したい場合は描画可能なIDに移動し、0に設定する必要があります。

+0

タイプAbsoluteLayoutは推奨されていません。このエラーを回避するにはどうすればよいですか? – Alexander

+1

Androidアプリが多くの画面解像度に対応していることを確認することは推奨されていません。本当にAbsoluteLayoutを使用する場合は、互換性があることを確認してください。なぜAbsoluteLayoutが必要ですか?特定の位置にコントロールを配置する必要がある場合は、RelativeLayoutでコントロールを行う方法です。 –

+0

ありがとう、それは私のために働く。 – Alexander

0

シンプル、android:background="@drawable/YourImage"

+0

XMLファイルのレイアウトタグにコードを記述する必要があります。 – anilbey

関連する問題