2014-01-22 3 views
1

Я хочу установить ImageView внутри строки ListView так, чтобы он соответствовал краю экрана устройства.Android - Fit ImageView to ListView

Это мой текущий макет:

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

Я использую библиотеку Пикассо, чтобы загрузить изображение. Я попытался использовать .centerCrop, .centerInside и .fit, используя опцию загрузчика Picasso. Не повезло.

настройки Picasso:

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

Каждый знает, как справиться с этой проблемой?

+1

Вы пытаетесь поместить ScaleType = "centerCrop" в xml вместо Picasso? возможно, это решит проблему. –

ответ

2

Попробуйте с:

android:scaleType="centerCrop" 

в XML

0

Ваша высота ImageView прямо сейчас 0dp. Вам нужно установить layout_height. Ваша ширина прекрасна.