ImageView中的图像比例为3:2

时间:2014-03-04 06:03:04

标签: android listview imageview

ListView中有许多图像。

我的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 x 480,1280 x 720,1920x1080,1080x1920等。除了不同的尺寸,不同的方向 - 肖像或风景。 并且所有图像都有不同的宽高比。

如何在ImageView中显示图像,但宽高比为3:2,并且图像高度不适合仅显示图像的中间部分。但不要打破比率。

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

1 个答案:

答案 0 :(得分:3)

使用centerCrop代替fitXY android: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" />