2014-03-04 86 views
1

ListView中出現很多圖像。ImageView中的圖像比例爲3:2

我list_view_item.xml(在ivEventImage圖像):

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_height="wrap_content" 
android:layout_width="match_parent"> 

    <TextView 
     android:id="@+id/tvText" 
     android:autoLink="web" 
     android:linksClickable="true" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 

    <ImageView 
     android:id="@+id/ivEventImage" 
     android:adjustViewBounds="true" 
     android:scaleType="fitXY" 
     android:src="@null" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

他們有不同的尺寸 - 640×480,1280×720,1920×1080,1080×1920等。除了不同的尺寸,不同的方向 - 縱向或橫向。 和所有圖像以不同的長寬比。

如何在ImageView中顯示圖像,但寬高比爲3:2,並且圖像高度不適合僅顯示圖像的中間部分。但不打破比例。

黑色方塊 - ivEventImage。 左 - 1280x720,右 - 1080x1920(例如)。 imageView problem

回答

3

使用centerCrop而不是fitXYandroid:scaleType如下...

android:scaleType="centerCrop" 

所以,ImageView將XML ...

<ImageView 
    android:id="@+id/ivEventImage" 
    android:adjustViewBounds="true" 
    android:scaleType="centerCrop" 
    android:src="@null" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" />