2013-12-04 4 views
0

Это в основном тот же вопрос, что и GridView - sometimes rows are top-aligned, sometimes they're bottom-aligned!, но это, похоже, не дает достаточного ответа или, по крайней мере, одного из них, который работает с моей проблемой.Android Gridview - Элементы, выровненные по направлению прокрутки

У меня есть сетка с элементами в ней. В элементе находится изображение вверху, а затем 3 текстовых изображения. Иногда, в зависимости от значения, один или два из текстовых просмотров занимают несколько строк.

При прокрутке вниз это хорошо, изображение вверху выравнивается со всеми остальными строками. Но когда вы прокручиваете противоположное направление, это самое нижнее текстовое изображение, которое выровнено, и верхняя часть изображений отсутствует.

Приведем пример ниже.

Прокрутка вниз

------ ------ ------ 

Image  Image  Image 

------ ------ ------ 
TView1 TView1 TView1 
------ ------ ------ 
TView2 TView2 TView2 
------ TView2 ------ 
TView3 ------ TView3 
------ TView3 ------ 
      ------ 

прокрутка вверх

  ------ 
------    ------ 
      Image 
Image    Image 
      ------ 
------ TView1 ------ 
TView1 ------ TView1 
------ TView2 ------ 
TView2 TView2 TView2 
------ ------ ------ 
TView3 TView3 TView3 
------ ------ ------ 

Я читал, что я должен использовать layout_gravity = "сверху", но это не работает. Я думал, что это возможно из-за того, что layout_gravity не должен работать в relativelayout, это то, что мой элемент использует, но при изменении этого на linearlayout он все равно не работает.

Благодаря

ответ

0

Высота каждой ячейки в GridView должны оставаться же, в противном случае вы будете в конечном итоге с такими вопросами.

+0

Должен ли я дать ему фиксированную высоту ?! Ург, который не звучит правильно/приятно. Нужно ли вычислять эту высоту на основе размеров устройства? –

+0

Я могу догадаться, что у вас больше данных в «TextView» в некоторых местах. Вам просто нужно использовать атрибут 'android: minLines' и' android: maxLines' в макете xml ячейки. Это гарантирует, что ваш размер «TextView» останется таким же. –

+0

Или лучший подход - просто использовать атрибут 'android: lines'. –

Смежные вопросы