2011-04-26 24 views
3

私はお互いにtpで2つのイメージを持っているようにしています。私はそれがXMLファイルでうまく動作することができますが、私はこれを動的にやりたいと思います。 ctdeasyoneは透明な画像です。アンドロイドの動的相対レイアウト

だから、これは正常に動作します。..

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <ImageView 
     android:id="@+id/bck1" 
     android:src="@drawable/fish2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"   
     android:scaleType="fitXY" 
     android:layout_gravity="center"> 
    </ImageView> 

    <ImageView 
     android:id="@+id/bck2" 
     android:src="@drawable/ctdeasyone" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"   
     android:scaleType="fitXY" 
     android:layout_gravity="center"> 
    </ImageView> 

</RelativeLayout> 

私はこれを行います。 2番目の画像だけが表示されます(透明な画像です)。これについての専門家のアドバイスはありますか?初心者ここに...これは私の最初の質問です。 TIA。

public class TwoPicksOnEachOther extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // Grabbing the Application context   
     final Context context = getApplication();     

     RelativeLayout relativeLayout = new RelativeLayout(this);     

     final ImageView iv = new ImageView(this);   
     iv.setImageResource(R.drawable.fish2); 


     RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(  
       RelativeLayout.LayoutParams.FILL_PARENT, 
       RelativeLayout.LayoutParams.FILL_PARENT); 
     relativeLayout.addView(iv,lp);   

     // Creating transparent image 
     final ImageView iv2 = new ImageView(this); 
     iv.setImageResource(R.drawable.ctdeasytwo); 
     RelativeLayout.LayoutParams lp2 = new RelativeLayout.LayoutParams(  
       RelativeLayout.LayoutParams.FILL_PARENT, 
       RelativeLayout.LayoutParams.FILL_PARENT); 
     relativeLayout.addView(iv2,lp2); 
     setContentView(relativeLayout); 

    }   

} 

答えて

3

私はエミュレータでそれを入れて、私はそれを見るまでしばらくそれで遊ぶために持っていた:

iv.setImageResource(R.drawable.fish2); 
(...) 
iv.setImageResource(R.drawable.ctdeasytwo); 

あなたはIV2のための画像リソースを設定することはありませんよ!

私はそれを変更しましたが、今は2つの画像が予想どおりに表示されます。

+0

Aleadam、私はあなたの答えを投票しようとしていますが、私は15の評判が必要だと言います。どのようなバグ!私はiv.setImageResourceを2回設定しています。決して気付かなかった。今はうまく動作します。どうもありがとう。 – George

+0

@Georgeはい、新しいユーザーは回答を受け入れることができますが、アップヴォートは受け付けません。そのバグを把握するのにもしばらく時間がかかりました! – Aleadam

+0

おそらく私は得ることがないsometingがあります。私は投票に5つの評判を得るよう訴えられましたが、私は15の評判が必要なので投票できません。では、どうやってこれらの評判を得るのですか?私がそれを理解すると、私はあなたに投票するために戻ってきます。あなたはあなたの10を得ることができるように投票します。 – George

0

これはFrameLayoutに最適です。あなたはお互いの上に画像を置いて欲しいからです。

+0

xmlは相対レイアウトで完璧に機能しますが、FrameLoyoutでこれを行うことを提案していますか?私は上記のコードを他に助けることができないなら、これを試してみます。つまり、xmlで動かないのはなぜですか? – George

+0

あなたが提案したFrameLyoutをただ見直しました。あなたが提案したように非常に魅力的です。私は子どもたちが寝るのと同じようにソソンとして挑戦します。 – George

関連する問題