As Littlesat said in this thread:
When you do it really right you need to make a listbox horizontal type with size scrollbar number of items etc [...] it is really a feature that universally could be used.
So here is a PR for elistbox horizontal.
It can be used for horizontal menus, lists, tabs, etc.
Possible skin for horizontal menu:
<screen name="MenuHorizontal" position="fill" backgroundColor="transparent" flags="wfNoBorder"> <ePixmap alphatest="blend" pixmap="infobar/hd.png" position="0,e-180" size="e,180" zPosition="-1" scale="1"/> <widget source="Title" conditional="Title" render="Label" position="0,e-170" size="e,80" font="Regular;64" halign="center" valign="center" transparent="1" backgroundColor="transpBlack"/> <widget source="menu" render="Listbox" enableWrapAround="off" position="60,e-85" size="1800,80" foregroundColorSelected="selectedFG" foregroundColor="foreground" backgroundColorSelected="transpBlack" backgroundColor="transpBlack" scrollbarMode="showNever" selectionFrame="none" > <convert type="TemplatedMultiContent"> {"template": [ MultiContentEntryText(pos = (10,0), size = (340,80), flags = RT_HALIGN_CENTER|RT_VALIGN_CENTER,text = 0) ], "fonts": [gFont("Regular",34)], "itemHeight": 80, "itemWidth": 360, "orientation" : "orHorizontal", } </convert> </widget> <widget addon="Pager" connection="menu" itemHeight="75" showIcons="onlyFirst" picPage="icons/chevronleft.png" picPageCurrent="icons/chevronlefttrans.png" position="0,e-85" size="50,75" transparent="0" backgroundColor="transpBlack"/> <widget addon="Pager" connection="menu" itemHeight="75" showIcons="onlyLast" picPage="icons/chevronright.png" picPageCurrent="icons/chevronrighttrans.png" position="e-50,e-85" size="50,75" transparent="0" backgroundColor="transpBlack"/> </screen>