Поскольку вы пометили это как flex 3 и Flex 4, я бы порекомендовал использовать для этого компоненты Flex 4.
Используйте набор панелей вкладок вместе с состояниями обложки вашего пользовательского компонента. Концептуально что-то вроде этого:
<s:TabBar id="mainTabBar" change="onChange(event)"/>
<s:TabBar id="firstSubBar" includeIn="firstSelected" />
<s:TabBar id="secondSubBar" includeIn="secondSelected" />
<s:TabBar id="thirdSubBar" includeIn="thirdSelected" />
Есть метод изменения что-то вроде этого:
protected function changeSelection(event:IndexChangeEvent): void {
invalidateSkinState()
}
И в вашем методе getCurrentSkinState () сделайте что-то вроде этого:
override protected getCurrentSkinState():void{
if(mainTabBar.selectedIndex == 1){
return "firstSelected";
} else if(mainTabBar.selectedIndex == 2){
return "secondSelected";
} // etc. etc//
return super.getCurrentSkinState();
}
Нет причин, по которым вы не можете сделать что-то подобное с MX TabBar.
Это помогает?