当前位置: 首页 > 工具软件 > gif2apng > 使用案例 >

android Glide 支持全局jpg png gif 图片展示

容学林
2023-12-01

1.依赖

implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'

2.工具类

    /**
     * 加载 常规和gif 通用
     *
     * @param context
     * @param imageView
     * @param url        图片链接
     * @param placeResId 默认占位图片
     * @param errorResId 错误图片
     */
    public static void loadImage(Context context, ImageView imageView, String url, int placeResId, int errorResId) {
        /**常规和gif 通用*/
        Glide.with(context).asDrawable().load(url).placeholder(placeResId).error(errorResId).into(new CustomTarget<Drawable>() {
            @Override
            public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
                /**GifDrawable (gif图片类型)*/
                if (resource instanceof GifDrawable) {
                    GifDrawable gifDrawable = (GifDrawable) resource;
                    imageView.setImageDrawable(gifDrawable);
                    gifDrawable.start();
                } else {
                    /**常规图片*/
                    imageView.setImageDrawable(resource);
                }
            }

            @Override
            public void onLoadFailed(@Nullable Drawable errorDrawable) {
                /**加载错误图片*/
                imageView.setImageDrawable(errorDrawable);
            }

            @Override
            public void onLoadCleared(@Nullable Drawable placeholder) {
                /**占位图片*/
                imageView.setImageDrawable(placeholder);
            }
        });
    }

 

 类似资料: