在 Android 中,我有一个 GridView,其中 GridView 中的每个“单元格”都有一个 ImageView,ImageView 下方有一个 TextView。对于所有单元格,单元格的宽度始终是固定的。图像的大小是固定的,并且对于所有单元格都是相同的。但是,文本的长度可能会有所不同。当文本的长度大于单元格的宽度时,文本会换行并且单元格的高度应该扩大以保持整个文本可见。
我遇到的问题是我似乎无法让所有单元格的高度都相同。如果一个单元格的文本很少(没有换行),但与其相邻的单元格足以导致换行,则第一个单元格的高度比相邻的单元格短。如果单元格具有相同的高度并且文本视图的高度增加,那就太好了。
这是我的 GridView xml:
<GridView
android:id="@+id/gvDevices"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@id/llToolbar"
android:background="#000000"
android:columnWidth="160dp"
android:gravity="center_horizontal"
android:horizontalSpacing="0dp"
android:numColumns="2"
android:stretchMode="columnWidth"
android:verticalSpacing="5dp" >
这是每个单元格的 xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/GridItem"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:background="@drawable/image_border"
android:orientation="vertical" >
<LinearLayout
android:layout_width="160dp"
android:layout_height="120dp"
android:gravity="center_horizontal|center_vertical" >
<ImageView
android:id="@+id/ivDevice"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ImageView>
</LinearLayout>
<TextView
android:id="@+id/tvCaption"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:background="#707070"
android:gravity="center_horizontal"
android:text="Huawei, 2013-05-29 6:30 PM"
android:textColor="#ffffff" >
</TextView>
</LinearLayout>
编辑 我遇到了这篇文章: 如何垂直拉伸 GridView 的单元格?
但解决方案不正确。我不希望 TextView 中有固定数量的行。