Android - 使ImageView适合ListView

时间:2014-01-22 08:22:42

标签: android listview imageview picasso

我想在ListView行中放入ImageView,使其适合设备屏幕的边缘。

这是我目前的布局:

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <ListView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:smoothScrollbar="true"
        android:id="@android:id/list" />
</RelativeLayout>

在custom_row.xml中:

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/img_item"
        android:adjustViewBounds="true"/>

</RelativeLayout>

我正在使用Picasso库加载图片。我尝试使用Picasso的加载器选项使用.centerCrop,.centerInside和.fit。没有运气。

毕加索设置:

Picasso.with(context) //
        .load(iim.getResized()) //
        .placeholder(R.drawable.placeholder) //
        .error(R.drawable.error)
        .fit().centerInside()
        .into(vh.item_image);

任何人都知道如何处理这个问题?

3 个答案:

答案 0 :(得分:2)

尝试:

android:scaleType="centerCrop" 
xml中的

答案 1 :(得分:1)

在程序中使用此.centerCrop()

Picasso.with(context) //
    .load(iim.getResized()) //
    .placeholder(R.drawable.placeholder) //
    .error(R.drawable.error)
    .centerCrop() //thissss
    .into(vh.item_image);

或在您的xml中:

android:scaleType="centerCrop" 

答案 2 :(得分:0)

你的ImageView高度现在是0dp。你需要设置layout_height。你的宽度很好。