Если вы знаете количество элементов на экране, вы можете использовать LinearLayout и добавлять элементы к нему во время выполнения. В любом случае вы не будете перерабатывать просмотры, если у вас нет свитка.
Даже если вы не знаете количество элементов на экране, лучше всего будет рассчитать количество элементов, которое вы можете полностью уместить, разделив оставшийся размер экрана на размер одного элемента.
Для горизонтальных страниц вы можете использовать ViewPager.