Matisse: Integrate Glide V4

Created on 4 Aug 2017  ·  2Comments  ·  Source: zhihu/Matisse

feature

Most helpful comment

可以自己实现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 loadGifThumbnail(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 loadGifImage(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;
}

}`

All 2 comments

可以自己实现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 loadGifThumbnail(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 loadGifImage(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;
}

}`

A PR has been sent developing this feature, see https://github.com/zhihu/Matisse/pull/114.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

zzzhoukang picture zzzhoukang  ·  5Comments

meiniepan picture meiniepan  ·  7Comments

xiaotianchang picture xiaotianchang  ·  4Comments

aliondos picture aliondos  ·  3Comments

idish picture idish  ·  3Comments