Glide 设置网络图片圆角和 ImageView的ScaleType.CENTER_CROP冲突 ...

打印 上一主题 下一主题

主题 1906|帖子 1906|积分 5718

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Glide设置圆角冲突

原因分析:



  • 对于 ImageView而言,ImageView.ScaleType.CENTER_CROP是ImageView的一种缩放类型,其含义如下:CENTER_CROP表示以保持图片宽高比的方式将图片进行缩放,使得图片的短边能够完全覆盖ImageView,同时图片的长边会超出ImageView的范围,超出的部门会被裁剪掉。终极图片会被居中显示在ImageView中,确保图片尽可能大地填充ImageView同时保持宽高比不变。
  • 而对于Glied的 RoundedCorners来说, 其设置圆角半径会改变图片的宽高比。
错误代码:
  1. ...........
  2. imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
  3. ..............
  4.      Glide.with(holder.itemView)
  5.                 .load(URL)
  6.                 .transform(new RoundedCorners(30))
  7.                 .into(imageView);
  8. #第二种错误写法
  9. ...........
  10. imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
  11. ..............
  12.      Glide.with(holder.itemView)
  13.                 .load(URL)
  14.                 .apply(RequestOptions.bitmapTransform(new RoundedCorners(30)))
  15.                 .into(imageView);
  16.                
复制代码
精确代码:
  1. ...........
  2. // 这行代码可以注释掉
  3. // imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
  4. ..............
  5.     Glide.with(holder.itemView)
  6.                 .load(data.getRes())
  7.                 .transform(new CenterCrop(), new RoundedCorners(30))
  8.                 .into(holder.imageView);
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

欢乐狗

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表