Цель
Прокрутка тайлов и загрузка выбранного изображения тайла в фон.
Дополнительным требованием является отображение ранее загруженного изображения до тех пор, пока новое не будет готово к показу.
Готовый код для копирования и вставки можно найти внизу.
Проблема
Glide не позволяет переходить между двумя разными изображениями, загруженными с разными запросами.
Решение
Документация предлагает обойти это, используя ViewSwitcher.
Это удобно и избавляет нас от написания лишнего кода для выполнения перехода. Однако, если мы пойдем по этому пути, мы столкнемся с другой проблемой — Glide не загрузит наше изображение в представление, для которого отключена видимость.
Мы исправим это, сделав это представление невидимым:
override fun addView(child: View?, index: Int, params: ViewGroup.LayoutParams?) { super.addView(child, index, params) child?.visibility = if (childCount == 1) { View.VISIBLE } else { View.INVISIBLE } }
Код доступен здесь:
https://gist.github.com/murdly/2edbd65eb5f84abca5818f083959222a