依赖
//支持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);