package com.boycy815.pinchimageviewexample.zoomtransition; import android.app.Activity; import android.content.Intent; import android.graphics.Rect; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import com.boycy815.pinchimageviewexample.Global; import com.boycy815.pinchimageviewexample.R; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.ImageSize; import com.nostra13.universalimageloader.core.imageaware.ImageViewAware; import com.nostra13.universalimageloader.utils.MemoryCacheUtils; public class ThumbViewActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_thumb_view); final DisplayImageOptions thumbOptions = new DisplayImageOptions.Builder().cacheInMemory(true).build(); final ImageLoader imageLoader = Global.getImageLoader(getApplicationContext()); final ViewGroup root = (ViewGroup) findViewById(R.id.root); int l = root.getChildCount(); for (int i = 0; i < l; i++) { final int fi = i; final ImageView thumb = (ImageView) ((ViewGroup) root.getChildAt(i)).getChildAt(0); final ImageViewAware thumbAware = new ImageViewAware(thumb); final String url = Global.getTestImage(i).getThumb(100, 100).url; imageLoader.displayImage(url, thumbAware, thumbOptions); thumb.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(ThumbViewActivity.this, PicViewActivity.class); intent.putExtra("image", Global.getTestImage(fi)); ImageSize targetSize = new ImageSize(thumbAware.getWidth(), thumbAware.getHeight()); String memoryCacheKey = MemoryCacheUtils.generateKey(url, targetSize); intent.putExtra("cache_key", memoryCacheKey); Rect rect = new Rect(); thumb.getGlobalVisibleRect(rect); intent.putExtra("rect", rect); intent.putExtra("scaleType", thumb.getScaleType()); startActivity(intent); } }); } } }