我有一个ListFragment
,其中包含一个自定义ListAdapter
,它会延迟加载图片并显示一个视图,左边是图片,右边是一些文字。我正在使用的自定义列表项如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/image"
android:maxWidth="80dp"
android:adjustViewBounds="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="16sp"
android:gravity="left|center_vertical" />
</LinearLayout>
这一切都运行正常,但是当我单击列表项然后单击后退时,大多数时候列表会显示图像的全尺寸,而不是指定的80dp宽度。如果我在按下之前等待一段时间,列表有时会正确加载。
有谁知道如何解决这个问题?我希望图像始终以80dp的宽度显示。感谢。
答案 0 :(得分:1)
这就是我使用不同宽度和高度的图像。将每张图像强制为85x85,裁剪。
<ImageView
android:src="@drawable/some_img"
android:layout_width="85dip"
android:layout_height="85dip"
android:scaleType="centerCrop"
/>
您可以考虑使用centerCrop或centerInside。
如果android:adjustViewBounds="true"
引起您所看到的问题,我不会感到惊讶。
另一个可能的罪魁祸首是,您要在android:layout_height="fill_parent"
中设置TextView
wrap_content