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

 依赖

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/415351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Socket常用语法与socketserver实例

1》Socket相关&#xff1a; 1>Socket Families(地址簇): socket.AF_UNIX   本机进程间通信 socket.AF_INET   IPV4  socket.AF_INET6   IPV6 2>Socket Types: socket.SOCK_STREAM   #for tcp socket.SOCK_DGRAM   #for udp  socket.SOCK_RAW …

重新记录一下微信后台的配置

1、打开开发的基本配置&#xff0c;成为开发者 2、启用开发者密码 3、看一下自己的公众号id 4、记录自己的AppID、AppSecret

vue2.0 如何自定义组件(vue组件的封装)

一、前言 之前的博客聊过 vue2.0和react的技术选型&#xff1b;聊过vue的axios封装和vuex使用。今天简单聊聊 vue 组件的封装。 vue 的ui框架现在是很多的&#xff0c;但是鉴于移动设备的复杂性&#xff0c;兼容性问题突出。像 Mint-UI 等说实话已经很不错了&#xff0c;但是坑…

又双叒叕 - 中国汉字的奇妙

四个字组成的汉字&#xff1a; 又双叒叕【zhuo】 屮艸芔茻【mǎng】 火炎焱燚【yi】 一二三亖【si】 土圭垚㙓【dui】 口吕品田【tian】 水沝淼㵘【man】 日昌晶【liu】 木林森【gua】 月朋朤【lang】 金鍂鑫鑫【繁体】【xin】

小程序 获取当前所在地理位置 城市 信息

需求&#xff1a;在小程序首页需要显示用户所在城市。 解决方案&#xff1a;使用wx.getLocation获取经纬度坐标&#xff0c;再使用微信小程序JavaScript SDK的地址逆解析方法reverseGeocoder&#xff0c;就可以完美搞定。 微信小程序JavaScript SDK官方地址 https://lbs.qq.c…

php用ajax方式实现四级联动

使用ajax方式实现了下简单的 四级联动&#xff0c; 数据库&#xff1a; 以下为前台代码&#xff1a; 1 <!DOCTYPE html>2 <html>3 <head>4 <title>5 四级联动6 </title>7 <meta charset"utf-8">8 <s…

前端学习(2641):懂代码之header表头页之控制全屏显示

<!-- 全屏显示 控制全屏显示第一步 --><div class"btn-fullscreen" click"handleFullScreen"><el-tooltip effect"dark" :content"fullscreen?取消全屏:全屏" placement"bottom"><i class"el-ic…

微信公众号 模版消息 跳转到小程序报错{ errcode: 40013, errmsg: 'invalid appid hint: [cC6RwA09011295]' }

今天做微信公众号模版消息推送&#xff0c;要求点击模版消息&#xff0c;就直接跳转到小程序里面。 当然&#xff0c;我已经按照官方文档&#xff0c;填写了正确的小程序appid&#xff0c;可是还是报错。 { errcode: 40013, errmsg: invalid appid hint: [cC6RwA09011295] }最…

Android studio 运行即打包keystore之build.gradle设置

1、在build.gradle中android下添加keystore位置signingConfigs 如&#xff1a; apply plugin: com.android.applicationandroid {signingConfigs {config {keyAlias key0keyPassword 123567storeFile file(E:\\521copy\\Myditukaifa\\keystore\\mybdkeystore.jks)//这里是你的…

OI回忆录——一个过气OIer的制杖历程

初中 初一参加学校信息学选修课&#xff0c;一周一节课&#xff0c;学pascal。  初一寒假&#xff08;大约是&#xff09;入选&#xff08;其实是钦定吧&#xff09;当时加上我只有3人的校队&#xff08;我当然是最弱的一个。  当时甚至有幸得到叉姐授课&#xff08;现在才…

工作157:动态路由

第一步 route里面加一个 第二步跳转

宝塔面板进行ssl配置,显示待域名确认

说一下我的问题原因&#xff1a; 阿里云里面的安全组没有配置80端口允许访问&#xff0c;当然&#xff0c;你也要设置443允许访问。

Android 文件转base64字符串,json文件转对象

/*** 文件转base64字符串** param file* return*/ public static String fileToBase64(File file) {String base64 null;InputStream in null;try {in new FileInputStream(file);byte[] bytes new byte[in.available()];int length in.read(bytes);base64 Base64.encode…

AngularJS移动端页面input无法输入

用angularJS写手机页面&#xff0c;有时候会发现input输入框点击了却不能输入&#xff0c;或者长按才能输入&#xff0c;可能是因为input绑定了ng-click导致&#xff0c;可去掉ng-click&#xff0c;将ng-click绑定的方法改用ng-focus就好了转载于:https://www.cnblogs.com/made…

Mongoose provide access to previous value of property in pre('save')

Mongoose allows you to configure custom setters in which you do the comparison. pre(‘save’) by itself won’t give you what you need, but together: schema.path(name).set(function (newVal) {var originalVal this.name;if (someThing) {this._customState tru…

前端学习(2644):懂代码之header表头页之折叠功能

第一步 header.vue <!-- 折叠按钮 --><div class"collapse-btn" click"collapseChage"><i v-if"!collapse" class"el-icon-s-fold"></i><i v-else class"el-icon-s-unfold"></i></d…

The following classes could not be instantiated:

Android studio新建项目xml文件不显示Preview问题解决方法 报错如下&#xff1a; 1、The following classes could not be instantiated: 2、The following classes could no 3、Failed to load AppCompat ActionBar with unknown error. 找到values文件夹下面的styles.xm…

简单使用CXF实现webserver(rs的独立发布)

简单使用cxf_rs的方式实现webserver 1创建maven project java项目 2,在maven文件中导入相关依赖 <dependencies>    <!--使用 CXF 的RS开发模式 --><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-frontend-jaxrs&…

小程序 ios页面 左右滑动 解决方法

单页面的微信小程序在ios手机上&#xff0c;会出现能左右滑动一定距离的问题。解决办法就两行代码&#xff1a; 设置外层元素的css为 width:100%; overflow-x:hidden;

工作158:vue里面为什么要加key

没有key <div id"app"><div><input type"text" v-model"name"><button click"add">添加</button></div><ul><li v-for"(item, i) in list"><input type"checkbox&…