Другой менеджер компоновки может быть более простым решением.
Я предлагаю использовать https://github.com/google/flexbox-layout
Вы бы установили диспетчер компоновки на wrap
, так что если ваши предметы не помещались на горизонтальной линии, тогда они переносились бы на новую строку, это облегчало размещение на экранах разных размеров.
Тогда для вашего 5-го элемента, который, как вы знаете, вы хотите, на новой строке вы бы использовали атрибут layout_wrapBefore
. Я бы посмотрел пример layout_wrapBefore
в документации