以编程方式显示ImageView

当用户点击一个button时,如何让ImageView出现在屏幕中间? 我已经把图像放在res / drawable文件夹中。

我一直在尝试下面的代码,但我不知道如何使ImageView出现:

View v = new ImageView(getBaseContext()); ImageView image; image = new ImageView(v.getContext()); image.setImageDrawable(v.getResources().getDrawable(R.drawable.gameover)); 

谢谢!

  • 创buildImageView
  • 在button中使用一个OnClickListener
  • 将ImageView 添加到布局或将 ImageView 的可见性设置为可见
 //LinearLayOut Setup LinearLayout linearLayout= new LinearLayout(this); linearLayout.setOrientation(LinearLayout.VERTICAL); linearLayout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); //ImageView Setup ImageView imageView = new ImageView(this); //setting image resource imageView.setImageResource(R.drawable.play); //setting image position imageView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); //adding view to layout linearLayout.addView(imageView); //make visible to program setContentView(linearLayout); 
 int id = getResources().getIdentifier("gameover", "drawable", getPackageName()); ImageView imageView = new ImageView(this); LinearLayout.LayoutParams vp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); imageView.setLayoutParams(vp); imageView.setImageResource(id); someLinearLayout.addView(imageView); 

如果添加到RelativeLayout,请不要忘记设置imageView的位置。 例如:

 RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(200, 200); lp.addRule(RelativeLayout.CENTER_IN_PARENT); // A position in layout. imageView.setLayoutParams(lp); // imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); imageView.setImageResource(R.drawable.photo); RelativeLayout layout = (RelativeLayout) findViewById(R.id.layout); layout.addView(imageView);