참고
https://github.com/bumptech/glide
기존에 사용하던 라이브러리
implementation 'com.github.bumptech.glide:glide:3.7.0'
implementation 'jp.wasabeef:glide-transformations:2.0.1'
변경된 라이브러리
implementation 'com.github.bumptech.glide:glide:4.6.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
변경전 3.7.0
Glide.with(context)
.load(img_url)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.thumbnail(0.1f)
.override(100, 100)
.bitmapTransform(new CropCircleTransformation(context),new GrayscaleTransformation(context))
.into(new GlideDrawableImageViewTarget(holder.photo) {
@Override
public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> animation) {
super.onResourceReady(resource, animation);
//never called
}
@Override
public void onLoadFailed(Exception e, Drawable errorDrawable) {
super.onLoadFailed(e, errorDrawable);
//never called
}
});
변경후 4.6.1
//옵션
RequestOptions myOptions = new RequestOptions()
.fitCenter()
.circleCrop() //원형
.override(100, 100)
.fallback(R.drawable.default)
.diskCacheStrategy(DiskCacheStrategy.ALL);
//흑백처리
ColorMatrix colorMatrix = new ColorMatrix();
colorMatrix.setSaturation(0);
ColorMatrixColorFilter filter = new ColorMatrixColorFilter(colorMatrix);
Glide.with(context)
.load(img_url)
.thumbnail(Glide.with(context).load(default_link).apply(myOptions))
.error(Glide.with(context).load(error_link).apply(myOptions))
.apply(myOptions)
.into(new Target<Drawable>() {
@Override
public void onLoadStarted(@Nullable Drawable drawable) {
}
@Override
public void onLoadFailed(@Nullable Drawable drawable) {
}
@Override
public void onResourceReady(@NonNull Drawable drawable, @Nullable Transition<? super Drawable> transition) {
holder.photo.setImageDrawable(drawable);
}
@Override
public void onLoadCleared(@Nullable Drawable drawable) {
}
@Override
public void getSize(@NonNull SizeReadyCallback sizeReadyCallback) {
}
@Override
public void removeCallback(@NonNull SizeReadyCallback sizeReadyCallback) {
}
@Override
public void setRequest(@Nullable Request request) {
}
@Nullable
@Override
public Request getRequest() {
return null;
}
@Override
public void onStart() {
}
@Override
public void onStop() {
}
@Override
public void onDestroy() {
}
});
// 흑백처리
holder.photo.setColorFilter(filter);