package com.diandi.demo.util; import android.content.Context; import android.graphics.Bitmap; import com.diandi.demo.R; import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache; import com.nostra13.universalimageloader.cache.disc.naming.HashCodeFileNameGenerator; import com.nostra13.universalimageloader.cache.memory.impl.LruMemoryCache; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer; import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer; import com.nostra13.universalimageloader.utils.StorageUtils; import java.io.File; /** * ******************************************************************************* * ********* Author : klob(kloblic@gmail.com) . * ********* Date : 2014-11-29 . * ********* Time : 11:46 . * ********* Project name : Diandi1.18 . * ********* Version : 1.0 * ********* Copyright @ 2014, klob, All Rights Reserved * ******************************************************************************* */ public class ImageLoadOptions { /** * 初始化ImageLoader */ public static void initImageLoader(Context context) { File cacheDir = StorageUtils.getCacheDirectory(context); // File cacheDir= new File(getCacheDir(), "ACache"); ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context) .memoryCache(new LruMemoryCache(5 * 1024 * 1024)) .memoryCacheSize(10 * 1024 * 1024) .discCache(new UnlimitedDiscCache(cacheDir)) .discCacheFileNameGenerator(new HashCodeFileNameGenerator()) .build(); ImageLoader.getInstance().init(config); } /** * 新闻列表中用到的图片加载配置 */ public static DisplayImageOptions getOption() { DisplayImageOptions options = new DisplayImageOptions.Builder() // // 设置图片在下载期间显示的图片 // .showImageOnLoading(R.drawable.small_image_holder_listpage) // // 设置图片Uri为空或是错误的时候显示的图片 // .showImageForEmptyUri(R.drawable.small_image_holder_listpage) // // 设置图片加载/解码过程中错误时候显示的图片 // .showImageOnFail(R.drawable.small_image_holder_listpage) .cacheInMemory(true) // 设置下载的图片是否缓存在内存中 .cacheOnDisc(true) // 设置下载的图片是否缓存在SD卡中 .considerExifParams(true) .imageScaleType(ImageScaleType.EXACTLY)// 设置图片以如何的编码方式显示 .bitmapConfig(Bitmap.Config.RGB_565)// 设置图片的解码类型 // .decodingOptions(android.graphics.BitmapFactory.Options // decodingOptions)//设置图片的解码配置 .considerExifParams(true) // 设置图片下载前的延迟 // .delayBeforeLoading(int delayInMillis)//int // delayInMillis为你设置的延迟时间 // 设置图片加入缓存前,对bitmap进行设置 // 。preProcessor(BitmapProcessor preProcessor) .resetViewBeforeLoading(true)// 设置图片在下载前是否重置,复位 // .displayer(new RoundedBitmapDisplayer(20))//是否设置为圆角,弧度为多少 .displayer(new FadeInBitmapDisplayer(100))// 淡入 .build(); return options; } public static DisplayImageOptions getOptions(int drawableId) { return new DisplayImageOptions.Builder() .showImageOnLoading(drawableId) .showImageForEmptyUri(drawableId) .showImageOnFail(drawableId) .resetViewBeforeLoading(true) .cacheInMemory(true) .cacheOnDisc(true) .imageScaleType(ImageScaleType.EXACTLY_STRETCHED) .bitmapConfig(Bitmap.Config.RGB_565) .considerExifParams(true) .build(); } public static DisplayImageOptions getOptions() { return new DisplayImageOptions.Builder() .showImageOnLoading(R.drawable.default_head_cry) .showImageForEmptyUri(R.drawable.default_head_cry) .showImageOnFail(R.drawable.default_head_cry) .resetViewBeforeLoading(true) .cacheInMemory(true) .cacheOnDisc(true) .imageScaleType(ImageScaleType.EXACTLY) .bitmapConfig(Bitmap.Config.RGB_565) .considerExifParams(true) .displayer(new RoundedBitmapDisplayer(90)) .build(); } }