Last active
November 17, 2015 18:34
-
-
Save Sirelon/316879665b5ecc0cc962 to your computer and use it in GitHub Desktop.
Static methods for the displaing image from universalimageloader with deifference parameters.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.sirelon; | |
import android.graphics.Bitmap; | |
import android.view.View; | |
import android.widget.ImageView; | |
import android.widget.ProgressBar; | |
import com.nostra13.universalimageloader.core.DisplayImageOptions; | |
import com.nostra13.universalimageloader.core.assist.FailReason; | |
import com.nostra13.universalimageloader.core.assist.ImageScaleType; | |
import com.nostra13.universalimageloader.core.listener.ImageLoadingProgressListener; | |
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener; | |
/** | |
* Created by romanishin on 15.12.14. | |
*/ | |
public class ImageLoaderFactory { | |
public static void initSimpleImageLoader(Context context){ | |
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context.getApplicationContext()) | |
.build(); | |
ImageLoader.getInstance().init(config); | |
} | |
public static void displayImage(int imgId, ImageView imageView) { | |
displayImage(imgId, imageView, null); | |
} | |
public static void displayImage(int imgId, ImageView imageView, final ProgressBar holder) { | |
String imageUrl = "" + android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI + "/" + imgId; | |
displayImage(imageUrl, imageView, defaultOptions(), holder); | |
} | |
public static void displayImage(String imageUrl, ImageView imageView) { | |
displayImage(imageUrl, imageView, defaultOptions(), null); | |
} | |
public static void displayImage(String imageUrl, ImageView imageView, final ProgressBar progressBar) { | |
displayImage(imageUrl, imageView, defaultOptions(), progressBar); | |
} | |
private static DisplayImageOptions defaultOptions() { | |
// DisplayImageOptions options = new DisplayImageOptions.Builder() | |
// .showImageOnLoading(R.drawable.image_loaded) | |
//// .showImageForEmptyUri(R.drawable.ic_launcher) | |
//// .showImageOnFail(R.drawable.logo) | |
// .cacheInMemory(false) | |
//// .cacheInMemory(true) | |
// .cacheOnDisk(true) | |
// .considerExifParams(false) | |
//// .considerExifParams(true) | |
// .bitmapConfig(Bitmap.Config.RGB_565) | |
// .build(); | |
DisplayImageOptions options = new DisplayImageOptions.Builder(). | |
imageScaleType(ImageScaleType.EXACTLY) | |
.resetViewBeforeLoading(true) | |
.bitmapConfig(Bitmap.Config.RGB_565) | |
.cacheInMemory(true) | |
.cacheOnDisc(true).build(); | |
return options; | |
} | |
public static void displayImage(String imageUrl, ImageView imageView, DisplayImageOptions options, final ProgressBar progressBar) { | |
SimpleImageLoading listener = new SimpleImageLoading(progressBar); | |
com.nostra13.universalimageloader.core.ImageLoader.getInstance() | |
.displayImage(imageUrl, imageView, options, listener, listener); | |
} | |
private static class SimpleImageLoading extends SimpleImageLoadingListener implements ImageLoadingProgressListener { | |
private ProgressBar progressBar; | |
public SimpleImageLoading(ProgressBar progressBar) { | |
this.progressBar = progressBar; | |
} | |
@Override | |
public void onLoadingStarted(String imageUri, View view) { | |
visible(View.VISIBLE); | |
} | |
@Override | |
public void onLoadingFailed(String imageUri, View view, FailReason failReason) { | |
visible(View.GONE); | |
} | |
@Override | |
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { | |
visible(View.GONE); | |
} | |
@Override | |
public void onProgressUpdate(String imageUri, View view, int current, int total) { | |
if (progressBar != null) | |
progressBar.setProgress(Math.round(100.0f * current / total)); | |
} | |
private void visible(int opt) { | |
if (progressBar != null) | |
progressBar.setVisibility(opt); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment