ImageLoader配置

 GITHUB上的下载路径为:https://github.com/nostra13/Android-Universal-Image-Loader ,下载最新的库文件,并且导入到项目的LIB下便可以使用。

1.Imageloader全局配置
ImageLoaderConfiguration config = new ImageLoaderConfiguration  
    .Builder(context)  
    .memoryCacheExtraOptions(480, 800) // max width, max height,即保存的每个缓存文件的最大长宽 
    // Can slow ImageLoader, use it carefully (Better don't use it)/设置缓存的详细信息,最好不要设置这个  
.discCacheExtraOptions(480, 800, CompressFormat.JPEG, 75, null) 
    .threadPoolSize(3)//线程池内加载的数量  
    .threadPriority(Thread.NORM_PRIORITY - 2)  
    .denyCacheImageMultipleSizesInMemory()  
    .memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024)) // You can pass your own memory cache implementation/你可以通过自己的内存缓存实现  
    .memoryCacheSize(2 * 1024 * 1024)    
    .discCacheSize(50 * 1024 * 1024)    
    .discCacheFileNameGenerator(new Md5FileNameGenerator())//将保存的时候的URI名称用MD5 加密  
    .tasksProcessingOrder(QueueProcessingType.LIFO)  
    .discCacheFileCount(100) //缓存的文件数量  
    .discCache(new UnlimitedDiscCache(cacheDir))//自定义缓存路径  
    .defaultDisplayImageOptions(DisplayImageOptions.createSimple())  
    .imageDownloader(new BaseImageDownloader(context, 5 * 1000, 30 * 1000)) // connectTimeout (5 s), readTimeout (30 s)超时时间  
    .writeDebugLogs() // Remove for release app  
    .build();//开始构建  
    // Initialize ImageLoader with configuration. 


一般需要在Application中初始化Imageloader:
ImageLoader.getInstance().init(config);//全局初始化此配置  

2.Imageloader配置需要显示的图片
之后进行显示的图片的各种格式DisplayImageOptions 的设置:
DisplayImageOptions options;  
options = 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();//构建完成 

说明:

 1).imageScaleType(ImageScaleType imageScaleType) 是设置图片的缩放方式缩放类型mageScaleType:               EXACTLY :图像将完全按比例缩小的目标大小               EXACTLY_STRETCHED:图片会缩放到目标大小完全               IN_SAMPLE_INT:图像将被二次采样的整数倍               IN_SAMPLE_POWER_OF_2:图片将降低2倍,直到下一减少步骤,使图像更小的目标大小               NONE:图片不会调整   2).displayer(BitmapDisplayer displayer) 是设置图片的显示方式显示方式displayer,所以我们可以自定义我们需要显示的图片样式,当然SDK中已经定义好了几种:               RoundedBitmapDisplayer(int roundPixels)设置圆角图片               FakeBitmapDisplayer()               FadeInBitmapDisplayer(int durationMillis)设置图片渐显的时间          SimpleBitmapDisplayer()正常显示一张图片

3.监听图片下载进度,可以实现这个监听接口来显示下载进度

imageLoader.displayImage(imageUrl, imageView, options, new ImageLoadingListener() { @Override public void onLoadingStarted() { //开始加载的时候执行 } @Override public void onLoadingFailed(FailReason failReason) { //加载失败的时候执行 } @Override public void onLoadingComplete(Bitmap loadedImage) { //加载成功的时候执行 } @Override public void onLoadingCancelled() { //加载取消的时候执行 }});

4.显示所有来源图片的加载方式:

String imageUri = "http://site.com/image.png"; // from Web 
 
String imageUri = "file:///mnt/sdcard/image.png"; // from SD card  

String imageUri = "content://media/external/audio/albumart/13"; // from content provider 
 
String imageUri = "assets://image.png"; // from assets  

String imageUri = "drawable://" + R.drawable.image; // from drawables (only images, non-9patch) 
 


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值