본문 바로가기

Android

Glide 3.7.0에서 4.6.1 로 변경



참고

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);