Цель

Прокрутка тайлов и загрузка выбранного изображения тайла в фон.

Дополнительным требованием является отображение ранее загруженного изображения до тех пор, пока новое не будет готово к показу.

Готовый код для копирования и вставки можно найти внизу.

Проблема

Glide не позволяет переходить между двумя разными изображениями, загруженными с разными запросами.

Решение

Документация предлагает обойти это, используя ViewSwitcher.



Glide v4: Transitions
Быстрая и эффективная загрузка изображений для Androidbumptech.github.io



Это удобно и избавляет нас от написания лишнего кода для выполнения перехода. Однако, если мы пойдем по этому пути, мы столкнемся с другой проблемой — 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