Android では、GridView 内の各「セル」に ImageView があり、ImageView の下に TextView がある GridView があります。セルの幅は、すべてのセルで常に固定されています。画像のサイズは固定されており、すべてのセルで同じです。ただし、テキストの長さはさまざまです。テキストの長さがセルの幅よりも広い場合、テキストは折り返され、テキスト全体が表示されるようにセルの高さが拡張されます。
私が抱えている問題は、すべてのセルの高さを同じにできないように見えることです。1 つのセルにテキストがほとんどなく (折り返しなし)、隣接するセルに折り返しが生じるほどのテキストがある場合、最初のセルの高さは隣接するセルよりも短くなります。セルの高さが同じで、テキストビューの高さが大きくなるといいですね。
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 の行数を固定したくありません。