glide工具类。加载显示原图片,显示圆角图片,gif图标显示

博客介绍了使用Glide进行图片加载的相关内容,包括添加依赖,给出工具方法并说明调用方式,依赖版本为'com.github.bumptech.glide:glide:4.6.1',还提及了图片加载显示类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 依赖

//支持gif 的控件
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.1'

工具方法

   private void updateGifLoopOne(GifImageView gif) {
        try {
//            3、动画启动说明
//            a、场景GIF每换一次页面,重新动画一次,每个页只动画1次
            //控制动画次数
            GifDrawable gifDrawable = (GifDrawable) gif.getDrawable();
            gifDrawable.reset();
            gifDrawable.setLoopCount(1);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
gif_search_ble.setImageResource(gifSearchBle);//从新开始gif

调用即可

<pl.droidsonroids.gif.GifImageView
    android:id="@+id/imageViewMore"
    android:layout_width="24dp"
    android:layout_height="24dp"
    android:layout_marginTop="5dp"
    android:src="@drawable/user" />

mBtnHome.setImageResource(R.drawable.home_orange);//gif
updateGifLoopOne(mBtnHome);
mBtnHome.setImageResource(R.drawable.user);//png

glide依赖:


implementation 'com.github.bumptech.glide:glide:4.6.1'

1、图片加载显示类型


String url = "http://b.hiphotos.baidu.com/image/pic/item/dbb44aed2e738bd43212040dac8b87d6277ff9df.jpg";

RequestOptions optionsce = new RequestOptions()
        .centerCrop();//突出中间

RequestOptions optionsf = new RequestOptions()
        .fitCenter();//原型

RequestOptions optionsci = new RequestOptions()
        .circleCrop();//圆形图片

RequestOptions options = new RequestOptions()
        .override(200, 100);//指定尺寸

RequestOptions options2 = new RequestOptions()
        .placeholder(R.drawable.ic_camera);//占位图

Glide.with(this)
        .load(url)
        .apply(options)//图片展示类型方法
        .into(imageView);

2、加载GIF图片


加载GIF图片

imageView = (ImageView)findViewById(R.id.testimage);
 
Glide.with(this)
        .load("http://guolin.tech/test.gif")//gif图片
        .into(imageView);

3、加载图片工具类
 

public class GlideUtil {

    public static void setPic(Object pic, ImageView imageView) {//填满图——突出中间,不完整
        if (pic instanceof String) {                            //完整图 android:scaleType="fitXY"
            pic = getImgUrl(String.valueOf(pic));               //同时去掉transform(new CenterCrop())
        }
        Glide.with(imageView.getContext())
                .applyDefaultRequestOptions(new RequestOptions().diskCacheStrategy(DiskCacheStrategy.ALL)
                        .placeholder(R.color.white)
                        /* .error(R.drawable.image_default)*/
                        .transform(new CenterCrop()))
                .load(pic)
                .into(imageView);
    }

    public static void setOrginalPic(String pic, ImageView imageView) {//原图
        pic = getImgUrl(pic);
        LogPlus.d("bindImage====" + pic);
        Glide.with(imageView.getContext())
                .applyDefaultRequestOptions(
                        new RequestOptions().diskCacheStrategy(DiskCacheStrategy.ALL).placeholder(R.color.white)
                        /* .error(R.drawable.image_default)*/)
                .load(pic)
                .into(imageView);
    }

    public static void setPic(String pic, ImageView imageView, int error) {
        pic = getImgUrl(pic);
        LogPlus.d("bindImage====" + pic);
        Glide.with(imageView.getContext())
                .applyDefaultRequestOptions(
                        new RequestOptions().diskCacheStrategy(DiskCacheStrategy.ALL).placeholder(R.color.white).error(error))
                .load(pic)
                .into(imageView);
    }

    public static void setCornerPic(Object image, ImageView imageView, float corner) {//圆角corner
        if (image instanceof String) {
            image = getImgUrl(String.valueOf(image));
        }
        LogPlus.d("bindImage====" + image);
        Glide.with(imageView.getContext())
                .load(image)
                .apply(new RequestOptions().diskCacheStrategy(DiskCacheStrategy.ALL)
                        .placeholder(R.color.white)
                        .transforms(new CenterCrop(), new RoundedCorners((int) corner)))
                .into(imageView);
    }

    public static void setCirclePic(Object image, ImageView imageView) {//圆形图片
        if (image instanceof String) {
            image = getImgUrl(String.valueOf(image));
        }
        LogPlus.d("bindImage====" + image);
        Glide.with(imageView.getContext())
                .load(image)
                .apply(new RequestOptions().diskCacheStrategy(DiskCacheStrategy.ALL)
                        .transforms(new CenterCrop(), new CircleCrop()))
                .into(imageView);
    }

    public static String getImgUrl(String image) {
        if (!TextUtils.isEmpty(image) && !image.contains("://")) {
            return "http..." + "/" + image;
        }
        return image;
    }
}

Glide.with( holder.imageView)
        .load(getItem(position).getImg())
        .transform(new CenterCrop(), new RoundedCornersTransformation(mcontext.getResources()
                .getDimensionPixelOffset(R.dimen.size_12pt), 0, RoundedCornersTransformation.CornerType.ALL))//可上半,下半,全部
        .error(mcontext.getResources().getDrawable(R.mipmap.img_commodity))
        .diskCacheStrategy(DiskCacheStrategy.ALL)
        .into( holder.imageView);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值