Предыстория была такая:
Изначально такие плитки были сделаны на Button'ах (стиль) и TPresentedScrollBox. Но как только пошло дело в тест основательный идею тут же выбросил. 120+ элементов выключили телефон (samsung ace2 duos) при отрисовке, точней при динамической загрузке картинок. да и в целом вся эта беда работает медленней чем реализация на TListView
Я не художник, но смысл вроде передал
Пример: У нас есть 12 элементов,и 4 колонки
Можно в LV отрисовывать дополнительные "контролы" и поместить в один реальный айтем, 4 виртуальные панельки (в нашем случае)
Для того чтобы такое получилось:
1) ListView должна при ресайзе рассчитать сколько колонок она может иметь (ширина LV / на ширину одной панельки)
2) дальше Вам нужно будет разбить отрисовку Itema на 4 панельки
2.1) тоже самое проделать и при выделении
3) При таком подходе не будет стандартных элементов отображения (Text, Detail, Image и прочее нужно выключить)
Добавление Itema будет проходить в два цикла: первый добавляет реальный Item (0-2), а второй заполняет данными наши поля в панельках (title1, price1, bitmap1, title2, price2, bitmap2 и тд...)
4) Ну и самое важное в OnUpdateObjects все это отрисовать
Надеюсь вам это поможет!