2013-10-11 50 views
1

我正在製作一個Flex移動4.6應用程序,它是ViewNavigatorApplication(不確定這是否對以下內容有任何影響)。這個應用程序有一個自定義的ActionBar,在下面的截圖中可見。在TitleWindow中使用TabbedViewNavigator

問題從這裏開始:我想使用TitleWindow作爲彈出窗口,它將顯示TabbedViewNavigator中包含的一些選項。所以基本上:在ViewNavigatorApplication的TitleWindow中使用TabbedViewNavigator。

這是我得到的時候只需添加TabbedViewNavigator: enter image description here

很顯然,我的主窗口的操作欄是我TitleWindow中,這顯然不是我想要的東西里面dupplicated。 這裏是我的TitleWindow中的代碼至今:

<s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark" creationComplete="addedToStageHandler(event)"> 
<fx:Script> 
    <![CDATA[ 
     import mx.events.CloseEvent; 
     import mx.events.FlexEvent; 
     import mx.managers.PopUpManager; 

     private var softKeyboardPanTimer:Timer = new Timer(250, 1); 

     protected function closeHandler(event:CloseEvent):void 
     { 
      stage.focus = null; 
      softKeyboardPanTimer.addEventListener(TimerEvent.TIMER, onSoftKeyboardClosed); 
      softKeyboardPanTimer.start(); 
     } 

     private function onSoftKeyboardClosed(event:TimerEvent):void 
     { 
      stage.focus = null; 
      PopUpManager.removePopUp(this); 
     } 

     protected function centerPopUp(e:Event):void 
     { 
      PopUpManager.centerPopUp(this); 
     } 

     protected function addedToStageHandler(event:Event):void 
     { 
      stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, centerPopUp, false, 0, true); 
      this.closeButton.visible = false; 
     } 

    ]]> 
</fx:Script> 
<fx:Declarations> 
    <!-- Place non-visual elements (e.g., services, value objects) here --> 
</fx:Declarations> 

<s:Rect width="100%" height="100%"> 
    <s:fill> 
     <s:LinearGradient rotation="90"> 
      <s:GradientEntry ratio="0" color="#ffffff"/> 
      <s:GradientEntry ratio="1" color="#f8f8f8"/> 
     </s:LinearGradient> 
    </s:fill> 
</s:Rect> 

<s:Group x="0" y="0" width="100%" height="100%"> 
    <s:layout> 
     <s:VerticalLayout paddingLeft="10" paddingRight="10" paddingBottom="10" paddingTop="10"/> 
    </s:layout> 
    <s:TabbedViewNavigator> 
     <s:ViewNavigator label="Tab 1"/> 
     <s:ViewNavigator label="Tab 2"/> 
     <s:ViewNavigator label="Tab 3"/> 
    </s:TabbedViewNavigator> 
</s:Group> 


</s:TitleWindow> 

只是一個信息:這個彈出窗口通過單擊被複制的操作欄裏面的第四個圖標打開。

任何想法我可以擺脫那個幽靈酒吧?

回答

1

要創建一個「標籤欄」你其實可以用一個按鈕欄與TabbedViewNavigatorTabBarSkin - 你可以在我的例子中看到:

Styling ButtonBar font in Flex mobile app - with screenshot attached

我不知道的TitleWindow中,它可能不會在移動應用中工作,但您可以使用Callout

+0

終於找到了問題。但我喜歡標註選項,以後肯定會保留該選項以供其他用途使用;) –

-1

終於找到了問題......我忘了這片CSS的,實際上是負責原來的動作條皮膚:

s|ActionBar 
{ 
skinClass: ClassReference("aproove.presentation.ActionBarSkin"); 
} 

由於TabbedViewNavigator被包含動作條,同樣的皮膚裏面加我彈出。相當愚蠢的heh;)

相關問題