以编程方式显示ImageView

69

当用户点击按钮时,我该如何使一个ImageView出现在屏幕中央?我已经将图片放置在res/drawable文件夹中。

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

 View v = new ImageView(getBaseContext());
 ImageView image; 
 image = new ImageView(v.getContext()); 
 image.setImageDrawable(v.getResources().getDrawable(R.drawable.gameover));
谢谢!
4个回答

136
//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);

29
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); 

8
如果你将一个 imageView 放在 RelativeLayout 中,不要忘记设置其位置。例如:
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(200, 200);
lp.addRule(RelativeLayout.CENTER_IN_PARENT); // A position in layout.
ImageView imageView = new ImageView(this); // initialize ImageView
imageView.setLayoutParams(lp);
// imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
imageView.setImageResource(R.drawable.photo);
RelativeLayout layout = (RelativeLayout) findViewById(R.id.layout);
layout.addView(imageView);

-15

53
不是很有用。应该说明“查看文档”。 - phlebotinum
38
太含糊了......"1)学习Java 2)阅读Android文档"也许可以。 - Josh
11
哇,很严厉。我认为他的回答写得很好,并使用了适当的链接来回答问题。 - FuriousFolder
2
@FuriousFolder 请用代码回答问题,不要提供链接。 - cs95
@FuriousFolder 这里是Stack Overflow,不是链接溢出 :) - Nusrat Nuriyev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接