package com.yydcdut.note.utils.ImageManager; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.widget.ImageView; import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import com.nostra13.universalimageloader.core.assist.QueueProcessingType; /** * Created by yuyidong on 15/8/7. * ImageLoader管理类,如果以后 */ public class ImageLoaderManager { private static DisplayImageOptions sOptions; private static DisplayImageOptions sGalleryOptions; public static void displayImage(String uri, ImageView imageView) { ImageLoader.getInstance().displayImage(uri, imageView, sOptions); } public static void displayImage(String uri, ImageView imageView, DisplayImageOptions displayImageOptions) { if (displayImageOptions == null) { displayImage(uri, imageView); } else { ImageLoader.getInstance().displayImage(uri, imageView, displayImageOptions); } } public static void init(Context context) { ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context) .threadPriority(Thread.NORM_PRIORITY - 2) .denyCacheImageMultipleSizesInMemory() .discCacheFileNameGenerator(new Md5FileNameGenerator()) .tasksProcessingOrder(QueueProcessingType.LIFO) .build(); ImageLoader.getInstance().init(config); sOptions = new DisplayImageOptions.Builder() // .showImageOnLoading(R.drawable.ic_launcher) //设置图片在下载期间显示的图片 // .showImageForEmptyUri(R.drawable.ic_launcher)//设置图片Uri为空或是错误的时候显示的图片 // .showImageOnFail(R.drawable.ic_launcher) //设置图片加载/解码过程中错误时候显示的图片 .cacheInMemory(true)//设置下载的图片是否缓存在内存中 // .cacheOnDisc(true)//设置下载的图片是否缓存在SD卡中 .considerExifParams(true) //是否考虑JPEG图像EXIF参数(旋转,翻转) // .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)//设置图片以如何的编码方式显示 .bitmapConfig(Bitmap.Config.RGB_565)//设置图片的解码类型// // .decodingOptions(android.graphics.BitmapFactory.Options decodingOptions)//设置图片的解码配置 //.delayBeforeLoading(int delayInMillis)//int delayInMillis为你设置的下载前的延迟时间 //设置图片加入缓存前,对bitmap进行设置 //.preProcessor(BitmapProcessor preProcessor) // .resetViewBeforeLoading(true)//设置图片在下载前是否重置,复位 // .displayer(new RoundedBitmapDisplayer(20))//是否设置为圆角,弧度为多少 // .displayer(new FadeInBitmapDisplayer(100))//是否图片加载好后渐入的动画时间 .build();//构建完成 } public static void displayImage(String uri, ImageView imageView, ImageLoadingListenerAdapter listener) { ImageLoader.getInstance().displayImage(uri, imageView, sOptions, listener); } public static Bitmap loadImageSync(String uri) { return ImageLoader.getInstance().loadImageSync(uri, sOptions); } public static void clearMemoryCache() { ImageLoader.getInstance().clearMemoryCache(); } public static void displayImageWithoutCache(String uri, ImageView imageView) { ImageLoader.getInstance().displayImage(uri, imageView, new DisplayImageOptions.Builder() .cacheInMemory(false) .considerExifParams(true) .bitmapConfig(Bitmap.Config.ARGB_8888) .build()); } public static DisplayImageOptions getGalleryOptions() { if (sGalleryOptions == null) { BitmapFactory.Options options = new BitmapFactory.Options(); options.inSampleSize = 10; sGalleryOptions = new DisplayImageOptions.Builder() .cacheInMemory(true)//设置下载的图片是否缓存在内存中 .considerExifParams(true) //是否考虑JPEG图像EXIF参数(旋转,翻转) .bitmapConfig(Bitmap.Config.RGB_565)//设置图片的解码类型// .decodingOptions(options)//设置图片的解码配置 .build();//构建完成 } return sGalleryOptions; } }