Вы можете использовать любой из них, с разными усилиями и стоимостью для вашего приложения.
Возможно, проще всего использовать TableLayout, но он более изобретателен.
RelativeLayout очень эффективен, но сложнее в изучении и, возможно, немного сложнее понять позже.
Я думаю, вы должны использовать 2 линейных макета.
- LinearLayout (горизонтальный)
- LinearLayout (вертикальный)
- LinearLayout (вертикальный)
Если вам нужно, чтобы строки всегда были одинаковой высоты, использование TableLayout тоже неплохая идея.