@Override
publicvoidonLoadingFailed(FailReason failReason) {
//加载失败的时候执行
}
@Override
publicvoidonLoadingComplete(Bitmap loadedImage) {
//加载成功的时候执行
}
@Override
publicvoidonLoadingCancelled() {
//加载取消的时候执行
},newImageLoadingProgressListener() {
@Override
publicvoidonProgressUpdate(String imageUri, View view,intcurrent,inttotal) {
//在这里更新 ProgressBar的进度信息
}
});
3.1.1.5 注意点
1、ImageLoaderConfiguration必须配置并且全局化的初始化这个配置ImageLoader.getInstance().init(config),否则会出现错误提示;
2、ImageLoader是根据ImageView的height,width确定图片的宽高;
3.1.2 Picasso
3.1.2.1 添加依赖
Maven
com.squareup.picasso
picasso
2.5.2
3.1.2.2 简单的加载图片
Picasso使用的是链式编程,它至少需要三个参数才能完成基本地图像请求
-
with(Context context)——很多Android API都会去如此调用,这里也没有什么区别
-
load(String imageUrl)——应该加载哪个图像,大多数情况下,我们会使用String来代表一个url图像
-
into(ImageView targetImageView)——目标显示的ImageView
举个例子,就可以很容易明白,并且应用
ImageView targetImageView = (ImageView) findViewById(R.id.imageView);
String internetUrl = “http://i.imgur.com/DvpvklR.png”;
Picasso
.with(context)
.load(internetUrl)
.into(targetImageView);
3.1.2.3 常用方法
3.1.2.3.1 资源加载
int resourceId = R.mipmap.ic_launcher;
Picasso
.with(context)
.load(resourceId)
.into(imageViewResource);
3.1.2.3.2 文件加载
File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), “Running.jpg”);
Picasso
.with(context)
.load(file)
.into(imageViewFile);
3.1.2.3.3 Uri加载
Uri uri = resourceIdToUri(context, R.mipmap.future_studio_launcher);
Picasso
.with(context)
.load(uri)
.into(imageViewUri);
public static final String ANDROID_RESOURCE = “android.resource://”;
public static final String FOREWARD_SLASH = “/”;
private static Uri resourceIdToUri(Context context, int resourceId) {
return Uri.parse(ANDROID_RESOURCE + context.getPackageName() + FOREWARD_SLASH + resourceId);
}
3.1.3 Glide
3.1.3.1 添加依赖
Maven
com.github.bumptech.glide
glide
4.11.0
3.1.3.2 添加访问网络权限
3.1.3.3 常用方法
3.1.3.3.1 加载图片到imageView
Glide.with(Context context).load(Strint url).into(ImageView imageView);
3.1.3.3.2 各种形式的图片加载到ImageView
// 加载本地图片
File file = new File(getExternalCacheDir() + “/image.jpg”);
Glide.with(this).load(file).into(imageView);
// 加载应用资源
int resource = R.drawable.image;
Glide.with(this).load(resource).into(imageView);
// 加载二进制流
byte[] image = getImageBytes();
Glide.with(this).load(image).into(imageView);
// 加载Uri对象