2010-03-03 97 views
26

我有一個顯示圖像的GridView,不幸的是它有不同的大小。它們顯示在文本行兩者之間:GridView行高

text1.1    text1.2 
ImageView(IMAGE1)  ImageView(IMAGE2) 
text2.1    text2.2 

text3.1 
ImageView(IMAGE3) 
text4.1 

等....

如果IMAGE1是相同的高度IMAGE2,一切都很好,但如果IMAGE1是比IMAGE2,文本2 .1會碰到text3.1(填充似乎沒有什麼幫助,因爲當圖像高度相同時,填充太多了)。

我知道有一種方法來拉伸圖像的ImageView的,使他們的高度相同,但有可能保持圖像原樣,並設置行高度不知何故?

回答

28

憑藉您放入的行列,您可以控制行高。由於您的單元格似乎有多個小部件,因此它們大概會包含在LinearLayout之內。將您的LinearLayouts設置爲某個特定的高度,並且行將全部爲該高度。

就個人而言,我認爲如果您要在每個單元格的基礎上每個圖像的上下都有文字,我認爲您應該調整圖像大小。

+1

我發現了這一點,以及 - - 基本上,我沒有看到你可以在佈局中設置組件的寬度和高度,而不是wrap_component或fill_parent .... – kozyr

+27

這不適用於我,不管我把線性佈局高度放在什麼位置,GridView的行爲都是一樣的... –

+0

LinearLayout的維度值的layout_height不起作用。 'LinearLayout'中的 – lalitm

7

使用可繪製作爲佈局的背景下,爲您的網格單元,並定義繪製有:

<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> 
+2

您可以簡單地將根視圖的layout_height設置爲60dip。 –