以编程方式显示 ImageView
Posted
技术标签:
【中文标题】以编程方式显示 ImageView【英文标题】:Show ImageView programmatically 【发布时间】:2011-09-05 01:34:58 【问题描述】:当用户单击按钮时,如何使 ImageView 出现在屏幕中间?我已将图像放在 res/drawable-folder 中。
我一直在尝试使用下面的代码,但我不知道如何让 ImageView 出现:
View v = new ImageView(getBaseContext());
ImageView image;
image = new ImageView(v.getContext());
image.setImageDrawable(v.getResources().getDrawable(R.drawable.gameover));
谢谢!
【问题讨论】:
【参考方案1】://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);
【讨论】:
【参考方案2】: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);
【讨论】:
【参考方案3】:如果你添加到RelativeLayout,不要忘记设置imageView的位置。例如:
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);
【讨论】:
【参考方案4】: 创建ImageView 在按钮中使用OnClickListener AddImageView 到布局或set the visibilityImageView 到可见【讨论】:
不是很有帮助。应该说“检查文档” 太模糊了......“1)学习java 2)阅读android文档”可能也可以。 哇,苛刻。我认为他的回答写得很好,并使用了适当的链接来回答问题。 @FuriousFolder 用代码而不是链接回答问题。 @FuriousFolder 这是堆栈溢出而不是链接溢出:)以上是关于以编程方式显示 ImageView的主要内容,如果未能解决你的问题,请参考以下文章