以编程方式添加图像

时间:2015-08-22 03:35:23

标签: android

我的mipmap文件夹中有几个图像,我想将它们添加到特定位置的屏幕,然后移动它们。这是我认为应该工作的代码:

ImageView item = new ImageView(this);
item.setImageResource(R.mipmap.ball);

其中ball是有效的png文件。为什么这段代码没有显示图片?

2 个答案:

答案 0 :(得分:1)

我认为你的xml看起来像这样。 Xml代码是

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical" android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:id="@+id/layout">

 </RelativeLayout>

在你的班级档案中尝试这个(即在活动中)

RelativeLayout layout=(RelativeLayout)findViewById(R.id.layout);
ImageView imageView=new ImageView(this);
imageView.setImageResource(R.mipmap.add_symbol);
//which adds the imageview to your layout
layout.addView(imageView);

答案 1 :(得分:0)

如评论中所述,您正在创建一个未附加到任何视图的图像视图。实例就在那里,但它不知道在哪里渲染。

如果你知道要插入它的位置,比如说,一些带有id image_container的LinearLayout,你可以做类似的事情(而且我对它非常简单!):

  ImageView item = new ImageView(this);
  item.setImageResource(R.mipmap.ball);

  LinearLayout layout = activity.findById(R.id.image_container);
  layout.addView(item)

您可能还想使用item.setScaleType( ... )来获得所需的缩放比例。

话虽如此,请记住,以编程方式添加多个项目的正确方法是使用类似RecyclerView的内容。

此外,为了获得图像加载和渲染的良好性能,GlidePicasso之类的内容非常有用。