Самый простой способ - это иметь два списка рядом друг с другом и соединять их методы onScroll (), чтобы прокручивать друг друга, когда прокручивается один из них.(Не забудьте использовать флаг, который вы прокручиваете программно, иначе вы получите StackOverflowError (вроде как иронично, да :) из-за бесконечной рекурсии).Вы можете сдвинуть одну из них, прокрутив на половину высоты изображения.
Хотя это своего рода обман.Лучшим способом было бы создать пользовательский макет, полученный из RelativeLayout, который может хранить идентификаторы последнего и второго к последнему представлений, добавленные в него.Когда добавится следующий, поместите его в layout_below = "@ id / second_to_last", тогда вновь добавленный вид станет последним, предыдущий последним - со второго на последний, и в следующий раз вы будете добавлять вид под ним.(Да, я знаю, не совсем то, что вы бы назвали четким описанием :), но не стесняйтесь задавать дополнительные вопросы)