You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Glide centerCrop 不生效求助:如何实现68x68方形图片显示?

问题排查与解决

1. 确认ImageView实际尺寸是否为68x68dp

用Android Studio的Layout Inspector工具查看ImageView的实际宽高,如果不是68x68dp,说明布局约束存在问题:

  • 检查父布局是否对ImageView的宽高有额外约束(比如在ConstraintLayout中误将height设为wrap_content或match_parent)
  • 确保没有使用layout_weight等会篡改尺寸的属性

2. 强制Glide按目标尺寸加载图片

如果ImageView尺寸正确,但图片仍显示为矩形,可在Glide加载代码中添加override()强制指定加载尺寸(需将dp转换为像素):

val size = TypedValue.applyDimension(
    TypedValue.COMPLEX_UNIT_DIP,
    68f,
    root.context.resources.displayMetrics
).toInt()

Glide.with(root.context)
      .load(url)
      .placeholder(R.drawable.product)
      .error(R.drawable.product)
      .override(size) // 强制按指定像素尺寸加载
      .centerCrop()
      .into(bindingUsersMedia.imageViewMedia)

3. 检查占位图/错误图的形状

如果显示的是占位图或错误图,确认R.drawable.product本身是否为方形。若该资源是矩形,即使ImageView是方形,显示内容也会是裁剪后的矩形区域。若需要占位图也显示方形,需替换为方形资源。

4. 移除可能的冲突设置

确保ImageView没有添加adjustViewBounds="true"属性,该属性会让ImageView根据图片比例调整自身尺寸,可能破坏68x68的方形设置。


内容的提问来源于stack exchange,提问作者Student4543

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 16:03:37