Skip to content

Instantly share code, notes, and snippets.

@Redman1037
Forked from TimCastelijns/matisse.java
Created October 25, 2017 10:34
Show Gist options
  • Save Redman1037/4efc5f4362df69d500bd2e557acaf317 to your computer and use it in GitHub Desktop.
Save Redman1037/4efc5f4362df69d500bd2e557acaf317 to your computer and use it in GitHub Desktop.
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.Priority;
import com.bumptech.glide.load.resource.bitmap.BitmapTransitionOptions;
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions;
import com.bumptech.glide.request.RequestOptions;
import com.zhihu.matisse.engine.ImageEngine;
public class GlideEngine implements ImageEngine {
@Override
public void loadThumbnail(Context context, int resize, Drawable placeholder, ImageView imageView, Uri uri) {
Glide.with(context)
.asBitmap()
.load(uri)
.apply(new RequestOptions().placeholder(placeholder).override(resize, resize).centerCrop())
.transition(new BitmapTransitionOptions().crossFade(300))
.into(imageView);
}
@Override
public void loadAnimatedGifThumbnail(Context context, int resize, Drawable placeholder, ImageView imageView, Uri uri) {
Glide.with(context)
.asBitmap()
.load(uri)
.apply(new RequestOptions().placeholder(placeholder).override(resize, resize).centerCrop())
.transition(new BitmapTransitionOptions().crossFade(300))
.into(imageView);
}
@Override
public void loadImage(Context context, int resizeX, int resizeY, ImageView imageView, Uri uri) {
Glide.with(context)
.load(uri)
.apply(new RequestOptions().priority(Priority.HIGH).override(resizeX, resizeY).centerCrop())
.transition(new DrawableTransitionOptions().crossFade(300))
.into(imageView);
}
@Override
public void loadAnimatedGifImage(Context context, int resizeX, int resizeY, ImageView imageView, Uri uri) {
Glide.with(context)
.asGif()
.load(uri)
.apply(new RequestOptions().priority(Priority.HIGH).override(resizeX, resizeY).centerCrop())
.into(imageView);
}
@Override
public boolean supportAnimatedGif() {
return true;
}
}
Matisse.from(this)
.choose(MimeType.allOf())
.countable(false)
.maxSelectable(1)
.restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)
.imageEngine(new GlideEngine())
.forResult(REQUEST_CODE_SELECT_IMAGE);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment