我想在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>
答案 0 :(得分:1)
在您的比例类型中,您使用了fitXY
:
fitXY
:只有在不成比例的缩放不影响图形时才应使用此选项。在位图图形的情况下,这几乎总是不好用。这会将源图像的宽度设置为视图的宽度,将源图像的高度设置为视图的高度,而不保持源图像的纵横比。
现在,您的layout
和imageview
宽度为match_parent
,因此图片将以父视图的整个宽度显示,但是对于高度,它是wrap_content
所以imageView
会调整每张图片的actual height
。