PDA

Просмотр полной версии : TabBar - активная вкладка


firsoff
10.01.2009, 00:08
Как сделать так чтобы активная вкладка была всегда выше (имеется ввиду глубина) остальных вкладок?
С уважением.

AQUAFRESH
11.01.2009, 01:13
<mx:Panel title="TabNavigator Container Example" height="90%" width="90%"
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">

<mx:Label width="100%" color="blue"
text="Select the tabs to change the panel."/>

<mx:TabNavigator id="tn" width="100%" height="100%">
<!-- Define each panel using a VBox container. -->

<mx:VBox label="Panel 1">
<mx:Label text="TabNavigator container panel 1"/>
</mx:VBox>

<mx:VBox label="Panel 2">
<mx:Label text="TabNavigator container panel 2"/>
</mx:VBox>

<mx:VBox label="Panel 3">
<mx:Label text="TabNavigator container panel 3"/>
</mx:VBox>
</mx:TabNavigator>

<mx:Label width="100%" color="blue"
text="Programmatically select the panel using a Button control."/>

<mx:HBox>
<mx:Button label="Select Tab 1" click="tn.selectedIndex=0"/>
<mx:Button label="Select Tab 2" click="tn.selectedIndex=1"/>
<mx:Button label="Select Tab 3" click="tn.selectedIndex=2"/>
</mx:HBox>

</mx:Panel>

firsoff
13.01.2009, 20:03
Прекрасный пример, видел видел в хелпе.
Вот его маленькая редакция.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="top"
horizontalAlign="center" backgroundGradientColors="[0x000000,0x323232]" paddingTop="0" viewSourceURL="srcview/index.html">

<mx:Panel title="TabNavigator Container Example" height="90%" width="90%"
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">

<mx:Label width="100%" color="blue"
text="Select the tabs to change the panel."/>

<mx:TabNavigator id="tn" width="100%" height="100%" horizontalGap="-20">
<!-- Define each panel using a VBox container. -->

<mx:VBox label="Panel 1">
<mx:Label text="TabNavigator container panel 1"/>
</mx:VBox>

<mx:VBox label="Panel 2">
<mx:Label text="TabNavigator container panel 2"/>
</mx:VBox>

<mx:VBox label="Panel 3">
<mx:Label text="TabNavigator container panel 3"/>
</mx:VBox>
</mx:TabNavigator>

<mx:Label width="100%" color="blue"
text="Programmatically select the panel using a Button control."/>

<mx:HBox>
<mx:Button label="Select Tab 1" click="tn.selectedIndex=0"/>
<mx:Button label="Select Tab 2" click="tn.selectedIndex=1"/>
<mx:Button label="Select Tab 3" click="tn.selectedIndex=2"/>
</mx:HBox>

</mx:Panel>
</mx:Application>

Изменил только вот ЭТО - horizontalGap="-20"
Видно что активная вкладка выше той что слева, но ниже той что справа. а надо чтобы ВСЕГДА была выше
с уважением.

GBee
13.01.2009, 21:22
Перепишите компонент, или в событии change доберитесь до нужной кнопки в таббаре и и наверх ее поставьте (Только у меня смутное ощущение, что она еще и последней станет). Импровизируйте ;о)

firsoff
13.01.2009, 22:34
да простой addChild тут не срабатывает, в общем там он кроме добавления еще что то делает...

GBee
14.01.2009, 11:31
Зелезьте внутрь навигатора (F3 в билдере), по рукам бить не будут ;о) Поймете что к чему.

firsoff
14.01.2009, 12:41
как туда залезть? компоненты вроде скомпилированны в файл swc....

GBee
15.01.2009, 11:49
<mx:TabNavigator id="tn" width="100%" height="100%" horizontalGap="-20">
Жмакни в TabNavigator с ctrl (или курсор на него и F3) это все в билдере по дефолту.