@sulik93
Начал изучать Java. Продолжаю изучать Java.

Как создать галерею картинок со слайдингом?

Добрый день, Всем!
Столкнулся вот с такой задачей. Сделать галерею картинок со слайдингом.
d648437c9d7240cbafd2ffe6f793f078.png

Я думаю так:
1. Сверстать экран типа сетки ImageView в RelativeLayout, например.
2. Подсчитать количество картинок, разделить на количество вмещающихся на один экран. Это и будет количество фрагментов, которые мы добавим во ViewPager.

При клике на картинку необходимо показать фото на весь экран. т.е. нужно как-то обратиться к этой фотке
Но при такой схеме я не знаю как обратиться к конкретной фотке на конкретном фрагменте.

Еще есть вариант сделать RecycleView горизонтальный
mRecyclerView.setLayoutManager(new GridLayoutManager(mActivity, 3));


Но как сделать так, чтобы он свайпился как ViewPager. Я так понимаю нужно переопределять методы скроллинга, но чувствую что увязну.

Может есть готовое решение или кто подскажет как правильно такое сделать?
  • Вопрос задан
  • 244 просмотра
Пригласить эксперта
Ответы на вопрос 1
@itdroid
Как по мне первый вариант OK. Единственное, я бы заменил связку ImageView + RelativeLayout на самописный ViewGroup компонент, который принимает количество столбцов и колонок в сетке и расставляет дочерние вьюхи по правильным местам.
Проблема с пониманием по какому ImageView кликнули решается просто: когда добавляете ImageView в контейнер, сохраняете uri на картинку как tag и когда OnClickListener прилетит этот ImageView, вы достанете uri методом view.getTag().
Пока писал, подумал о возможной проблеме: так как ViewPager держит в памяти 3+ старицы с картинками, могут быть проблемы из-за OutOfMemory, так что нужно правильно ресайзить превью картинок.
С моей точки зрения это самый простой вариант (конечно, если нет готового решения:).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы