У меня есть ViewPager и на каждой странице у меня есть GridView с адаптером. Строки GridView имеют фиксированную высоту. В одном случае мне нужно сделать следующее:
- Прокрутить GridView в заданную c строку.
- Уменьшить GridView до высоты строки, если видна только одна строка ИЛИ уменьшить ViewPager для высоты строки, так что видна только одна строка.
Я пробовал это:
ViewGroup.LayoutParams params = pager.getLayoutParams();
params.height = rowHeight;
pager.setLayoutParams(params);
grid.scrollTo(0, row * rowHeight);
ИЛИ
ViewGroup.LayoutParams params = grid.getLayoutParams();
params.height = rowHeight;
grid.setLayoutParams(params);
grid.scrollTo(0, row * rowHeight);
Но эффект тот же - после этого в GridView ничего не отображается.
Если я делаю только один из шагов: Только сжатие ИЛИ только прокручиваю строку, я вижу содержимое Но если я делаю оба - содержимое не отображается.
ПРИМЕЧАНИЕ. Мне нужна прокрутка только на GridView на активной странице ViewPager. Если я перейду к следующей / предыдущей странице - сетка там в порядке, даже пейджер сжимается.
В следующем случае я должен восстановить размер GridView / Pager и Scroll GridView снова до 0,0.