web-dev-qa-db-ja.com

GridViewの行の高さ

残念ながら、さまざまなサイズの画像を表示するGridViewがあります。テキストの2行の間に表示されます。

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で画像を引き伸ばす方法があり、同じ高さになりますが、画像をそのままにして行の高さを設定することは可能ですか?

26
kozyr

列の高さは、何を入力するかによって制御できます。セルには複数のウィジェットがあるように見えるため、おそらくLinearLayoutまたは何かでラップされています。 LinearLayoutsを特定の高さに設定すると、行はすべてその高さになります。

個人的には、セルごとに各画像の上下にテキストを配置する場合は、画像のサイズを変更する必要があると思います。

28
CommonsWare

グリッドセルであるレイアウトの背景としてドロウアブルを使用し、次のようにドロウアブルを定義します。

<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>
7
CloudWalker

アイテムを事前に測定し、各セルの高さをその行の最大高さに設定する代替ソリューションを次に示します。

GridViewの行の重なり:行の高さを最も高いアイテムに合わせる方法?

5
Chase