ImageLonder框架的使用,自定义ImageLoderUtils类,可以实现简单展示图片

public class ImageLoderUtils {
        /**
         * 对imageLoader进行配置的方法
         * @param context 上下文
         */
        public static void init(Context context) {

            //File cacheDir = StorageUtils.getCacheDirectory(context);  //指定默认的硬盘(sd卡)的缓存文件夹路径

            /**
             * 可以自己创建一个sd下面的文件夹作为硬盘缓存的路径
             */
            File file = new File(Environment.getExternalStorageDirectory(),"image");
            if (! file.exists()){
                file.mkdirs();
            }

            //1.创建一个ImageLoaderConfiguration,,,图片加载器的配置对象
            ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)

                    .threadPoolSize(3) // default  线程池内加载的数量
                    .threadPriority(Thread.NORM_PRIORITY - 2) // default 设置当前线程的优先级
                    .tasksProcessingOrder(QueueProcessingType.FIFO) // default
                    .denyCacheImageMultipleSizesInMemory()

                    //1 TB = 1024GB 1G=1024MB 1M = 1024KB 1KB = 1024BYTE
                    //LruMemoryCache,,lru最近最少使用算法...内部维护的是LinkedHashMap,,当一张图片最近很少使用的时候会从mao集合里面移除
                    .memoryCache(new LruMemoryCache(2 * 1024 * 1024)) //指定内存缓存的大小,,2M,,可以通过自己的内存缓存实现
                    .memoryCacheSize(2 * 1024 * 1024)  // 内存缓存的最大值
                    .memoryCacheSizePercentage(13) // default

                    //指定硬盘/磁盘缓存的路径
                    .diskCache(new UnlimitedDiskCache(file)) // default 可以自定义缓存路径
                    .diskCacheSize(50 * 1024 * 1024) // 50 Mb sd卡(本地)缓存的最大值
                    .diskCacheFileCount(100)  // 可以缓存的文件数量


                    .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) // default
                    .writeDebugLogs() // 打印debug log
                    .build(); //开始构建

            //2.对上面配置对象的初始化
            ImageLoader.getInstance().init(config);

        }

        /**
         * 默认的展示图片的选项
         *
         * @return
         */
        public static DisplayImageOptions getDefaultOption() {
            DisplayImageOptions options = new DisplayImageOptions.Builder()
                    .showImageOnLoading(R.mipmap.ic_launcher) // 设置图片下载期间显示的图片
                    .showImageForEmptyUri(R.mipmap.ic_launcher) // 设置图片Uri为空或是错误的时候显示的图片
                    .showImageOnFail(R.mipmap.ic_launcher) // 设置图片加载或解码过程中发生错误显示的图片

                    .resetViewBeforeLoading(true)  // default 设置图片在加载前是否重置、复位

                    .cacheInMemory(true) // default  设置下载的图片是否缓存在内存中
                    .cacheOnDisk(true) // default  设置下载的图片是否缓存在SD卡中

                    .considerExifParams(true) // default


                    .imageScaleType(ImageScaleType.EXACTLY_STRETCHED) // default 设置图片以如何的编码方式显示
                    .bitmapConfig(Bitmap.Config.RGB_565) // default 设置图片的解码类型

                    .displayer(new SimpleBitmapDisplayer()) // default  还可以设置圆角图片new RoundedBitmapDisplayer(20)

                    .build();

            return options;
        }

        /**
         * 展示圆角的选项
         * @return
         */
        public static DisplayImageOptions getRoundOption() {
            DisplayImageOptions options = new DisplayImageOptions.Builder()
                    .showImageOnLoading(R.mipmap.ic_launcher) // 设置图片下载期间显示的图片
                    .showImageForEmptyUri(R.mipmap.ic_launcher) // 设置图片Uri为空或是错误的时候显示的图片
                    .showImageOnFail(R.mipmap.ic_launcher) // 设置图片加载或解码过程中发生错误显示的图片

                    .resetViewBeforeLoading(true)  // default 设置图片在加载前是否重置、复位

                    .cacheInMemory(true) // default  设置下载的图片是否缓存在内存中
                    .cacheOnDisk(true) // default  设置下载的图片是否缓存在SD卡中

                    .considerExifParams(true) // default


                    .imageScaleType(ImageScaleType.EXACTLY_STRETCHED) // default 设置图片以如何的编码方式显示
                    .bitmapConfig(Bitmap.Config.RGB_565) // default 设置图片的解码类型

                    .displayer(new RoundedBitmapDisplayer(20)) // default  还可以设置圆角图片new RoundedBitmapDisplayer(20)

                    .build();

            return options;
        }

        /**
         * 展示圆形的选项
         * @return
         */
        public static DisplayImageOptions getCircleOption() {
            DisplayImageOptions options = new DisplayImageOptions.Builder()
                    .showImageOnLoading(R.mipmap.ic_launcher) // 设置图片下载期间显示的图片
                    .showImageForEmptyUri(R.mipmap.ic_launcher) // 设置图片Uri为空或是错误的时候显示的图片
                    .showImageOnFail(R.mipmap.ic_launcher) // 设置图片加载或解码过程中发生错误显示的图片

                    .resetViewBeforeLoading(true)  // default 设置图片在加载前是否重置、复位

                    .cacheInMemory(true) // default  设置下载的图片是否缓存在内存中
                    .cacheOnDisk(true) // default  设置下载的图片是否缓存在SD卡中

                    .considerExifParams(true) // default


                    .imageScaleType(ImageScaleType.EXACTLY_STRETCHED) // default 设置图片以如何的编码方式显示
                    .bitmapConfig(Bitmap.Config.RGB_565) // default 设置图片的解码类型

                    .displayer(new CircleBitmapDisplayer()) // default  还可以设置圆角图片new RoundedBitmapDisplayer(20)

                    .build();

            return options;
        }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值