package lee.devis.joker; import java.util.Collections; import java.util.LinkedList; import java.util.List; import lee.devis.joker.photoview.PhotoView; import android.app.Activity; import android.graphics.Bitmap; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.ImageView; import android.widget.ProgressBar; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.FailReason; import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer; import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener; /** * Description: Created by Devis on 14-7-17. */ public class ShowPicActivity extends Activity { private ImageView imageView; private ProgressBar spinner; private DisplayImageOptions options; private ImageLoader imageLoader; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_showpic); imageLoader = ImageLoader.getInstance(); options = new DisplayImageOptions.Builder().showImageOnLoading(null).showImageForEmptyUri(null) .showImageOnFail(null).cacheInMemory(true).cacheOnDisk(true).considerExifParams(true) .bitmapConfig(Bitmap.Config.RGB_565).displayer(new FadeInBitmapDisplayer(388)).build(); String url = getIntent().getStringExtra("url"); Log.e("TTT", "url = " + url); imageView = (ImageView) findViewById(R.id.imageView); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); spinner = (ProgressBar) findViewById(R.id.loading); imageLoader.displayImage(url, imageView, options, new SimpleImageLoadingListener() { @Override public void onLoadingStarted(String imageUri, View view) { spinner.setVisibility(View.VISIBLE); } @Override public void onLoadingFailed(String imageUri, View view, FailReason failReason) { String message = null; switch (failReason.getType()) { case IO_ERROR: message = "Input/Output error"; break; case DECODING_ERROR: message = "Image can't be decoded"; break; case NETWORK_DENIED: message = "Downloads are denied"; break; case OUT_OF_MEMORY: message = "Out Of Memory error"; break; case UNKNOWN: message = "Unknown error"; break; } // Toast.makeText(ShowPicActivity.this, message, // Toast.LENGTH_SHORT).show(); Log.e("TTTT", "error message = " + message); spinner.setVisibility(View.GONE); } @Override public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { spinner.setVisibility(View.GONE); if (loadedImage != null) { ImageView imageView = (ImageView) view; imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); boolean firstDisplay = !displayedImages.contains(imageUri); if (firstDisplay) { FadeInBitmapDisplayer.animate(imageView, 500); displayedImages.add(imageUri); } } } }); } static final List<String> displayedImages = Collections.synchronizedList(new LinkedList<String>()); @Override protected void onDestroy() { super.onDestroy(); } }