依赖
//支持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.GifImageViewandroid: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) {//圆角cornerif (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);