Glide 动态设置图片宽高的解决办法
2017-03-03 11:20
543 查看
public class GlideUtils { public static void loadIntoUseFitWidth(Context context, final String imageUrl, int errorImageId, final ImageView imageView) { Glide.with(context) .load(imageUrl) .diskCacheStrategy(DiskCacheStrategy.SOURCE) .listener(new RequestListener<String, GlideDrawable>() { @Override public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) { return false; } @Override public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { if (imageView == null) { return false; } if (imageView.getScaleType() != ImageView.ScaleType.FIT_XY) { imageView.setScaleType(ImageView.ScaleType.FIT_XY); } ViewGroup.LayoutParams params = imageView.getLayoutParams(); int vw = imageView.getWidth() - imageView.getPaddingLeft() - imageView.getPaddingRight(); //float scale = (float) vw / (float) resource.getIntrinsicWidth(); int vh = (int) ((float)vw/(float) 1.78); params.height = vh + imageView.getPaddingTop() + imageView.getPaddingBottom(); imageView.setLayoutParams(params); return false; } }) .placeholder(errorImageId) .error(errorImageId) .into(imageView); } }
1、整体思路就是通过获取平路的宽度,通过服务器图片的宽高比,我们服务器的是16:9,所以设置的是1.78
2、最后把宽高给imageView去展示
3、如果觉得这个宽高比不适合,也可以在方法多加一个参数就可以了,通过调用动态设置也是ok的。
相关文章推荐
- Glide设置圆角图片后设置ImageVIew的scanType="centerCrop"无效解决办法
- (IIS)网站本地放置,域名虚拟,权限设置,局域网访问网站图片无法显示之解决办法
- 解决IE6下JS动态设置图片IMG的SRC时图片无法加载错误的方法
- 块元素设置inline属性不能设置宽高的解决办法
- iview2.0中动态生成Menu时,设置activeName不生效的解决办法
- ionic 利用ng-bind-htm中且后台返回html代码中图片宽高固定解决办法
- wpf Image动态加载图片终极解决办法
- Android 在onActivityResult()中设置图片setImageResource(resId) 或者改变view属性,不成功的解决办法
- 图片加载库Glide——解决图片错乱+无法设置tag
- dz设置伪静态后复制帖子链接还是动态解决办法
- Glide加载网络图片,服务器内容更新但是Glide缓存无法清理的解决办法
- 解决IE6下JS动态设置图片IMG的SRC时图片无法加载错误的方法
- Java Swing中Icon图标大小的设定,图片大小不可设置的解决办法
- wpf Image动态加载图片终极解决办法 .
- 动态生成一个textview,设置padding不起作用的解决办法。
- 无法显示TabHost的setIndicator设置的图片的问题解决办法
- navigationItem.rightBarButtonItem 设置背景图片,颜色更改解决办法
- UIView设置layer的时候,layer外四个角任然出现图片的解决办法
- 图片加载错乱,Glide无法设置Tag解决方式
- 无法显示TabHost的setIndicator设置的图片的问题解决办法