如何在GridView中以原始尺寸查看图像

时间:2012-09-16 20:25:30

标签: android xml layout gridview imageview

我想在GridView中显示一组图像(它们具有相同的尺寸)。 在GirdView和GirdView项目的布局下面.. 问题是图像高度被拉伸。为什么?

GridView布局:

<GridView
    android:id="@+id/gvRecipes"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/include1"
    android:layout_margin="0dp"
    android:background="@drawable/bg"
    android:gravity="right"
    android:horizontalSpacing="10dp"
    android:padding="0dp"
    android:verticalSpacing="5dp" >
</GridView> 

GridView项目是:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/include21"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_margin="10dp"
    android:background="@drawable/btn"
    android:padding="5dp" >

    <ImageView
        android:id="@+id/imgRecibeImage"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scaleType="fitXY"

        android:src="@drawable/img1" />

    <TextView
        android:id="@+id/txtRecibeName"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_gravity="bottom"
        android:background="#80000000"
        android:gravity="right"
        android:padding="5dp"
        android:text="Crispy Chicken and Sandwich"
        android:textColor="#ffffff"
        android:textSize="17sp" />

</FrameLayout>

1 个答案:

答案 0 :(得分:1)

在您的比例类型中,您使用了fitXY

fitXY:只有在不成比例的缩放不影响图形时才应使用此选项。在位图图形的情况下,这几乎总是不好用。这会将源图像的宽度设置为视图的宽度,将源图像的高度设置为视图的高度,而不保持源图像的纵横比。

现在,您的layoutimageview宽度为match_parent,因此图片将以父视图的整个宽度显示,但是对于高度,它是wrap_content所以imageView会调整每张图片的actual height