GridView的行高

我有一个GridView显示图像,不幸的是,它有不同的大小。 它们显示在两行文字之间:

text1.1 text1.2 ImageView(IMAGE1) ImageView(IMAGE2) text2.1 text2.2 text3.1 ImageView(IMAGE3) text4.1 

等等….

如果IMAGE1与IMAGE2的高度相同,则一切正常,但如果IMAGE1比IMAGE2长,则text2.1将会运行到text3.1(填充似乎没有什么帮助,因为当图像太多时相同的高度)。

我知道有一种方法可以在ImageView中拉伸图像,使它们具有相同的高度,但是是否可以保持图像原样并以某种方式设置行高

Solutions Collecting From Web of "GridView的行高"

你凭借自己放置的东西来控制你的行高。 由于您的单元格似乎有多LinearLayout部件,他们大概是包裹在一个LinearLayout或其他东西。 设置你的LinearLayouts是一些特定的高度,行都将是那个高度。

就个人而言,如果您要在每个单元格的基础上在每个图像的上方和下方显示文字,我认为您应该调整图像大小。

在作为您的网格单元的布局上使用drawable作为背景,并使用以下内容定义drawable:

 <size android:height="<some height>" /> 

例如:

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#ffffff"/> <size android:height="60dip" /> </shape> 

这是一个替代的解决scheme,预先测量项目,并将每个单元格的高度设置为该行的最大高度。

GridView行重叠:如何使行高适合最高的项目?