我正在开发一个Android应用程序,它可以从远程网址动态下载图像。我有一个Web服务,可以为我的应用程序提取图像网址列表。
我使用for循环创建要在设备屏幕上显示的imageview
这是代码示例
for (int i = 0; i < imageUrls.length; i++ ) {
ImageView imgv = new ImageView(context);
setImage(imgv, imageUrls[i]); // use AsyncTask
linearLayoutVertical.addView(imgv); // add to its parent
}
我想在设置为imageview时立即阻止所有图片下载。换句话说,让它像listview一样工作。仅在屏幕视图中显示图像。但我的问题是它下载所有图像。
我有理由不使用listview,非常感谢。
答案 0 :(得分:0)
请使用Volley库中的NetworkImageView
。
您可以使用ListView
或RecyclerView
来显示您的数据,其中每个单元格/项目都有NetworkImageView
。 NetworkImageView
非常适合您只想在滚动时加载图片的要求,它被称为延迟加载。要使用NetworkImageView
,您必须使用ImageLoader
。请查看this或this项目以供参考。
NetworkImageView
有一个漂亮的方法setImageUrl
可以为你节省很多精力。
articlePhoto.setImageUrl(image_url, imageLoader);
BTW,无论使用NetworkImageView
ListView
还是任何滚动视图,都可以使用RecyclerView
。