package com.martin.ionichinabystudio.ui.view; import android.content.Context; import android.content.Intent; import android.util.AttributeSet; import android.view.View; import android.widget.LinearLayout; import com.android.volley.RequestQueue; import com.android.volley.toolbox.ImageLoader; import com.android.volley.toolbox.NetworkImageView; import com.android.volley.toolbox.Volley; import com.martin.ionichinabystudio.R; import com.martin.ionichinabystudio.config.Constant; import com.martin.ionichinabystudio.ui.activity.ImageShowActivity_; import com.martin.simpledevelop.utils.cache.BitmapCache; import java.util.List; /** * 自定义的显示一组图片的控件 * Created by justo on 2015/7/15. */ public class ImageGroupView extends LinearLayout { private Context mContext; private List<String> mImgUrls; //基于Volley的图片加载 private ImageLoader mImageLoader; public ImageGroupView(Context context) { this(context, null); } public ImageGroupView(Context context, AttributeSet attrs) { this(context, attrs, 0); } public ImageGroupView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); mContext = context; RequestQueue mQueue = Volley.newRequestQueue(context); mImageLoader = new ImageLoader(mQueue, new BitmapCache(context)); } public void setImages(List<String> imgUrls) { this.removeAllViews(); if (imgUrls != null) { mImgUrls = imgUrls; for (final String imgURL : imgUrls) { NetworkImageView imageView = new NetworkImageView(mContext); imageView.setAdjustViewBounds(true); imageView.setTag(imgURL); imageView.setDefaultImageResId(R.mipmap.ic_launcher); imageView.setErrorImageResId(R.mipmap.ic_launcher); imageView.setImageUrl(imgURL, mImageLoader); imageView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(mContext, ImageShowActivity_.class); intent.putExtra(Constant.IMG_BIG_SHOW, imgURL); mContext.startActivity(intent); } }); this.addView(imageView); } } } }