为什么我看不到图像? (ImageView的)

时间:2012-11-18 23:41:33

标签: android dynamic android-imageview

我想创建动态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 个答案:

答案 0 :(得分: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;
   }
 }

答案 1 :(得分:1)

你的代码是正确的,但没有太多影响,因为它是艺术的艺术。您创建RelativeLayout,然后创建ImageView,然后将ImageView添加到RelativeLayout。这样可行,但要使其显示您的布局必须添加到显示的层次结构中。因此,我将RelativeLayout添加到您的xml布局文件中,使用id为其分配android:id,然后在您的触摸屏上findViewById()并添加已创建的ImageView那里。

答案 2 :(得分:0)

您忘了夸大myLayout

答案 3 :(得分:0)

对于某些设备,也将所有图片放在 drawable-xhdpi 目录中。