这里的教程http://www.edumobile.org/android/android-beginner-tutorials/creating-image-gallery/教授如何将资源中的图像放入图库
这是设置要显示的图像的部分:
private Integer[] mImageIds = {
R.drawable.icon,
R.drawable.icon,
R.drawable.icon
};
public View getView(int position, View convertView, ViewGroup parent) {
ImageView i = new ImageView(mContext);
i.setImageResource(mImageIds[position]);
i.setLayoutParams(new Gallery.LayoutParams(150, 100));
i.setScaleType(ImageView.ScaleType.FIT_XY);
i.setBackgroundResource(mGalleryItemBackground);
return i;
}
但我希望从网上显示几张图片。所以这就是我所做的:
String gallery1 = "http://www.myimages.com/1.png";
URL ulrn = new URL(gallery1);
HttpURLConnection con = (HttpURLConnection)ulrn.openConnection();
InputStream is = con.getInputStream();
Bitmap bmp = BitmapFactory.decodeStream(is);
if (null != bmp){
bmp = getResizedBitmap(bmp,150,120); //resize the thumb
i.setImageBitmap(bmp);
i.setLayoutParams(new Gallery.LayoutParams(150, 100));
i.setScaleType(ImageView.ScaleType.FIT_XY);
i.setBackgroundResource(mGalleryItemBackground);
但是使用我上面做的方法,我只能在图库中显示1张图片,因为我还需要在图库中显示其他图片,例如来自http://www.myimages.com/2.png和http://www.myimages.com/3.png。我怎么能这样做?
答案 0 :(得分:1)
在这里您可以调用一次Image链接,但是Gallery baseAdapter类为每个项目调用getView。你需要每次都打电话。
为Url创建一个数组。喜欢
String [] URl = {http://www.myimages.com/2.png, http://www.myimages.com/,png,http://www.myimages.com/2.png};
并从您的getView方法调用此方法
public Drawable ImageOperations(String imageurl) {
try {
InputStream is = (InputStream) new URL(imageurl).getContent();
Drawable drawable = Drawable.createFromStream(is, "src");
return drawable;
} catch (MalformedURLException e) {
return null;
} catch (IOException e) {
return null;
}
}
然后编辑getView方法的某些行。
i.setImageDrawable(ImageOperations(URl[position]));
由于
答案 1 :(得分:0)
使用下面的延迟加载列表视图链接代码,根据您的要求将列表视图更改为Gridview,它可能对您有所帮助。