1

私はViewNavigatorApplicationであるFlexモバイル4.6アプリケーションを作成しています(これが以下に影響を与えるかどうかはわかりません)。このアプリには、下のスクリーンショットに表示されているカスタマイズされた ActionBar があります。

問題はここから始まります: TabbedViewNavigator に含まれるいくつかのオプションを表示するポップアップとして TitleWindow を使用したいと考えています。基本的には、ViewNavigatorApplication の TitleWindow の TabbedViewNavigator です。

これは、TabbedViewNavigator を追加するだけで得られるものです。 ここに画像の説明を入力

どうやら、メイン ウィンドウのアクション バーが TitleWindow 内に複製されているようです。これは明らかに私が望んでいるものではありません。これまでの私の 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 つ情報があります。このポップアップは、複製されたアクション バー内の 4 番目のアイコンをクリックすると開きます。

そのゴーストバーを取り除くことができるアイデアはありますか?

4

2 に答える 2

1

「タブバー」を作成するには、実際に TabbedViewNavigatorTabBarSkin で ButtonBar を使用できます-私の例でわかるように:

Flex モバイル アプリでの ButtonBar フォントのスタイリング - スクリーンショットを添付

TitleWindow についてはよくわかりません。おそらくモバイル アプリでは機能しないでしょうが、Calloutを使用できます。

于 2013-10-12T09:29:02.107 に答える
-1

最後に問題が見つかりました... 元の ActionBar スキンを実際に担当するこの CSS のことを忘れていました。

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

TabbedViewNavigator には ActionBar が含まれているため、同じスキンがポップアップ内に適用されます。かなりばかです;)

于 2013-10-18T16:08:27.873 に答える