ListFragment图像改变大小

时间:2011-07-28 16:31:39

标签: android android-layout

我有一个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的宽度显示。感谢。

1 个答案:

答案 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