0

動的な ImageView を作成したいのですが、表示されません。

@Override public boolean onTouchEvent(MotionEvent event) {
    RelativeLayout myLayout = new RelativeLayout(this);

    ImageView stone = new ImageView(this);
    stone.setImageResource(R.drawable.pedra);
    stone.setVisibility(View.VISIBLE);

    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
            RelativeLayout.LayoutParams.WRAP_CONTENT,
            RelativeLayout.LayoutParams.WRAP_CONTENT);

    myLayout.addView(stone, lp);

    return true;
}
4

4 に答える 4

1

あなたのコードは正しいですが、芸術のための芸術であるため、あまり効果はありません。を作成しRelativeLayout、次に作成してImageViewから、に追加ImageViewしますRelativeLayout。これは機能しますが、表示するには、表示されている階層にレイアウトを追加する必要があります。だから私はRelativeLayoutあなたのxmlレイアウトファイルに追加し、idでそれに割り当てandroid:id、そしてあなたのオンタッチでdofindViewById()とそこに作成された追加を行いますImageView

于 2012-11-19T00:27:39.917 に答える
1

これを試してください、それはあなたを助けます

main.xml

 <RelativeLayout 
       android:id="@+id/relativelayout"....>
 </RelativeLayout>

MainActivity.java 内

public class MainActivity extends Activity {

   private RelativeLayout rLayout;

   @Override
   protected void onCreate(Bundle savedInstance) {

       super.onCreate(savedInstance);
       setContentView(R.layout.main);

       rlayout = (RelativeLayout) findViewById(R.id.relativeLayout);


   }

   @Override 
   public boolean onTouchEvent(MotionEvent event) {

      ImageView stone = new ImageView(this);
      stone.setImageResource(R.drawable.pedra);
      stone.setVisibility(View.VISIBLE);

      rLayout.addView(stone);

     return true;
   }
 }
于 2012-11-18T23:54:50.017 に答える
0

あなたはあなたを膨らませるのを忘れましたmyLayout

于 2012-11-18T23:48:03.970 に答える
0

一部のデバイスでは、すべての画像をdrawable-xhdpiディレクトリにも配置します。

于 2017-03-25T07:42:27.537 に答える