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

Android Studio中RecyclerView联系人列表图片不显示问题排查

解决联系人列表中ImageView不显示的问题

嘿,我看了你给出的布局代码,这几个小问题应该就是图片不显示的根源,咱们来逐个修复:

1. 先解决布局位置与宽度的矛盾

你给ImageView设置了android:layout_width="match_parent",同时又加了android:layout_alignParentEnd="true"/android:layout_alignParentRight="true"——这就相当于让ImageView占满整个父容器宽度,还强制靠右侧对齐,要么直接把左边的姓名TextView完全盖住,要么图片被过度拉伸到变成空白(尤其是当图片尺寸很小时)。

把宽度改成和高度匹配的固定值,比如:

android:layout_width="50dp"

然后去掉靠右对齐的属性,换成让它靠左(或者在姓名TextView的左侧):

android:layout_alignParentLeft="true"
<!-- 或者如果姓名TextView有ID,用这个更稳妥: -->
android:layout_toLeftOf="@+id/tv_contact_name"

2. 确认图片资源已正确配置

这步很容易忘!你得给ImageView指定要显示的图片资源,要么在XML里直接添加:

android:src="@drawable/你的头像资源名"

要么在Java/Kotlin代码里通过img.setImageResource(R.drawable.xxx)来设置。要是没指定资源,ImageView自然是空的。

3. 添加ScaleType避免图片变形

如果图片显示后比例不对或者被截断,可以加上合适的ScaleType,比如让图片居中裁剪填充整个ImageView:

android:scaleType="centerCrop"

最后给你一个修正后的完整ImageView示例:

<ImageView
    android:id="@+id/img"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:src="@drawable/contact_avatar"
    android:scaleType="centerCrop"/>

另外还要注意:因为你用了alignParent这类属性,父布局必须是RelativeLayout哦,如果是LinearLayout的话,就得改用android:layout_gravity或者调整控件的排列顺序啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:03:11