zoukankan      html  css  js  c++  java
  • Android-----第三方 ImageLoader 的简单配置和使用

          ImageLoader 的简单使用配置,最好是将配置信息放到application里面,这样我们就不需要每次使用都需要配置了

         1、首先我们得有一个包

          

        2、简单的配置信息

         

         

     1         //显示图片的配置
     2         DisplayImageOptions options = new DisplayImageOptions.Builder()
     3                 .showImageOnLoading(R.drawable.ofm_photo_icon)   //下载时显示的图片
     4                 .showImageForEmptyUri(R.drawable.ic_launcher)    //设置图片Uri为空或是错误的时候显示的图片
     5                 .showImageOnFail(R.drawable.main_head_erroy_loader)      //下载 错误 显示的图片
     6                 .cacheInMemory(true)    //加入 到缓存
     7                 .cacheOnDisk(true)      //写入 内存卡
     8                 .bitmapConfig(Bitmap.Config.RGB_565)   //图片清晰度
     9                 .imageScaleType(ImageScaleType.EXACTLY) //设置图片以如何的编码方式显示
    10                 .build();
    11         cacheDir = StorageUtils.getOwnCacheDirectory(getApplicationContext(),getPackageName()+"/imageCatch");//设置缓存的路径
    12         ImageLoaderConfiguration config = new ImageLoaderConfiguration
    13                 .Builder(getApplicationContext())
    14                 .memoryCacheExtraOptions(480, 800) // max width, max height,即保存的每个缓存文件的最大长宽
    15                 .threadPoolSize(3)//线程池内加载的数量
    16                 .threadPriority(Thread.NORM_PRIORITY - 2)
    17                 .denyCacheImageMultipleSizesInMemory()
    18                 //设置内存缓存的大小为手机运行内存的   1/8
    19                 .memoryCacheSize((int) Runtime.getRuntime().maxMemory() / 8)
    20                 .diskCacheSize(10 * 1024 * 1024)   //缓存大小 10M
    21                 .diskCacheFileNameGenerator(new HashCodeFileNameGenerator())   //将保存的时候的URI名称用 加密
    22                 .tasksProcessingOrder(QueueProcessingType.LIFO)
    23                 .diskCacheFileCount(100) //缓存的文件数量
    24                 .diskCache(new UnlimitedDiskCache(cacheDir))     //自定义缓存路径
    25                 .defaultDisplayImageOptions(DisplayImageOptions.createSimple())
    26                 .imageDownloader(new BaseImageDownloader(getApplicationContext(), 5 * 1000, 30 * 1000)) // connectTimeout (30 s), readTimeout (30 s)超时时间
    27                 .defaultDisplayImageOptions(options)
    28 //                .writeDebugLogs() // Remove for release app
    29                 .build();  //开始构建
    30         //初始化ImageLoader
    31         ImageLoader.getInstance().init(config);

      3、使用ImageLoader

          第一个参数为图片的Url,第二个参数为显示图片的ImageView。

    //网络请求加载图片
            ImageLoader.getInstance().displayImage(newsList.get(position).getImg(), imageView);

      若显示的图片配置信息和application配置的不同,可以自己再次另行设置

     1  private void loadImage(ImageView imageView,int position){
     2         //显示图片的配置
     3         DisplayImageOptions options = new DisplayImageOptions.Builder()
     4                 .showImageOnLoading(R.drawable.ofm_photo_icon)   //下载时显示的图片
     5                 .showImageForEmptyUri(R.drawable.ic_launcher)    //设置图片Uri为空或是错误的时候显示的图片
     6                 .showImageOnFail(R.drawable.card_photofail)      //下载 错误 显示的图片
     7                 .cacheInMemory(true)    //加入 到缓存
     8                 .cacheOnDisk(true)      //写入 内存卡
     9                 .bitmapConfig(Bitmap.Config.RGB_565)   //图片清晰度
    10                 .imageScaleType(ImageScaleType.EXACTLY)  //设置图片以如何的编码方式显示
    11                 .build();
    12         //网络请求加载图片
    13         ImageLoader.getInstance().displayImage(newsList.get(position).getImg(), imageView, options);
    14     }
  • 相关阅读:
    常用排序算法
    eclipse下切换svn用户和 svn插件的使用
    随机红包算法(Java)
    Java中值类型和引用类型的区别?
    CSS引入的方式有哪些? link和@import的区别是?
    在orale中向左/向右填充字符
    select查看oracle表中列的数据类型
    比较使用DateTimePicker组件Delphi 7日期
    【转】Delphi中字符串的处理
    用MySQL 数字类型如何正确的转换函数
  • 原文地址:https://www.cnblogs.com/819158327fan/p/4889660.html
Copyright © 2011-2022 走看看