ListView中的全宽图像

时间:2013-12-05 05:54:32

标签: android android-imageview

我将这个ImageLoader库用于我的ListView。它默认将文件解码为70px位图。但后来我改为1000,我得到的图像是正确的。唯一的问题是在ImageView

中显示图像

ListItem 中的ImageView是这样的:

 <ImageView
    android:id="@+id/image"
    android:layout_width="fill_parent"
    android:layout_height="200dp"
    android:scaleType="centerInside" />

这将显示一个以ImageView为中心的图像,具有适当的纵横比(无拉伸等),并且四周都有空白空间。空白空间可能是因为图像尺寸较小。

我希望图像占据屏幕的整个宽度,并保持纵横比。我怎么得到它?

我试过了:

<ImageView
    android:id="@+id/image"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:scaleType="fitXY" />

然后,图像水平拉伸,完全脱离纵横比。看起来它的高度与实际图像高度相同,但宽度为fill_parent。

谢谢

3 个答案:

答案 0 :(得分:1)

尝试一下:

<ImageView 
            android:id="@+id/background"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:adjustViewBounds="true"
            android:scaleType="centerCrop"
            android:src="@drawable/name"
        />

答案 1 :(得分:0)

制作android:layout_width="match_parent"。 将高度设置为某些仲裁但合法的值,以android:layout_height="0dp"开头。 而对于高度,因为没有合适的scaleType来获得你想要的宽高比(我相信 - 确认developer.android.com/reference/android/widget/ ...),你将要做的就是在java中文件,获取图像的宽度,然后根据您需要的宽高比设置高度(在您的情况下为0.6)。

答案 2 :(得分:-1)

尝试添加此

<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scaleType="centerInside"
    android:adjustViewBounds="true"
    />