安卓开发ImageLoader图片神器

2022-05-03  本文已影响0人  510bb14393e1

使用ImageLoader可以让我们方便在listview里对图片或者视频的第一帧图片显示。
1、添加依赖

implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'

2、新建一个MyApplication继承Application,并在onCreate()中创建ImageLoader的配置参数,并初始化到ImageLoader

public class MyApplication extends Application {
 
    @Override
    public void onCreate() {
        super.onCreate();
        File cacheDir = StorageUtils.getCacheDirectory(this);
        //创建ImageLoaderConfiguration全局配置信息
        ImageLoaderConfiguration build= new ImageLoaderConfiguration.Builder(this)
        .threadPoolSize(5) // 线程池大小
        .threadPriority(Thread.NORM_PRIORITY - 2) // 设置线程优先级
        .memoryCacheSize(5 * 1024 * 1024)  // 内存缓存大小
        .diskCache(new UnlimitedDiskCache(cacheDir)) // 设置磁盘缓存策略
        .diskCacheSize(50 * 1024 * 1024) // 设置磁盘缓存的大小
        .diskCacheFileCount(50) // 磁盘缓存文件数量
        .diskCacheFileNameGenerator(new Md5FileNameGenerator()) // 磁盘缓存时图片名称加密方式
        .build();
        
        //单例模式 懒汉式
        //初始化imageloader
          //初始化
        ImageLoader.getInstance().init(build);
    }
 
        public DisplayImageOptions Options() {
              //对图片进行参数设置
              DisplayImageOptions options = new DisplayImageOptions.Builder()
                .showImageOnLoading(R.mipmap.ic_launcher_round) // 加载过程中的显示图片
                .showImageForEmptyUri(R.mipmap.ic_launcher_round) // 路径为空时显示的图片
                .cacheInMemory(true) // 需要缓存在内存中
                .cacheOnDisk(true) // 需要缓存到磁盘中
                .bitmapConfig(Bitmap.Config.RGB_565) // bitmap模式
                .displayer(new RoundedBitmapDisplayer(90)) // 设置图片显示形式(圆角 or 渐变等)
                .displayer(new CircleBitmapDisplayer()) // 设置图片显示形式(圆形)
                .build();
        return options;
    }
}

3、添加权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET"/>

4、AndroidManifest.xml文件application标签添加

android:name="MyApplication"            

5、使用方法

 //加载图片                             路径     控件   
 ImageLoader.getInstance().displayImage(path, imageView);

ImageLoader官网地址,无法打开请开梯子再试试:https://github.com/nostra13/Android-Universal-Image-Loader

上一篇下一篇

猜你喜欢

热点阅读