Высота строки 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, чтобы они были одинаковой высоты, но возможно ли сохранить изображения как есть и установить высоту строки ?
Ответы
Ответ 1
Вы контролируете высоту своих строк, в силу того, что вы вкладываете в них. Поскольку у ваших ячеек есть более одного виджета, они предположительно завернуты в LinearLayout
или что-то в этом роде. Установите LinearLayouts
как определенную высоту, и все строки будут иметь такую высоту.
Лично я думаю, что вы должны изменить размеры своих изображений, если у вас будет текст выше и ниже каждого изображения на основе каждой ячейки.
Ответ 2
Использовать в качестве фона в макете, который является ячейкой ячейки, и определить, что можно сделать с помощью:
<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>
Ответ 3
Вот альтернативное решение, которое предварительно измеряет элементы и устанавливает высоту каждой ячейки на максимальную высоту в этой строке.
Наложение перекрытий на GridView: как сделать высоту строки подходящей для самого высокого элемента?