apache-flex - SkinnablePopUpContainer 在视觉上被 Flex 中的 StageWebView 遮挡

标签 apache-flex popup block stagewebview

出于某种未知的原因,我的弹出窗口 AlertMsg 在视觉上被 StageWebView 阻挡:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" applicationDPI="160" xmlns:local="*"
               creationComplete="application1_creationCompleteHandler(event)"
               backgroundColor="#112233">
    <fx:Script>
        <![CDATA[
            import mx.core.FlexGlobals;
            import mx.events.FlexEvent;

            public var webView:StageWebView = new StageWebView();

            public function StageWebViewExample():void
            {
                webView.stage = webContainer.stage;
//                webView.viewPort = new Rectangle( 0, 0, stage.stageWidth, stage.stageHeight );
                webView.viewPort = new Rectangle( 100, 100, 500, 500 );
            }

            protected function application1_creationCompleteHandler(event:FlexEvent):void
            {
                webContainer.addEventListener(Event.ADDED_TO_STAGE, function(ee:Event):void {
                    StageWebViewExample();
                });
            }

            protected function btnTest_clickHandler(event:MouseEvent):void
            {
                webView.loadURL("http://www.example.com");
                new AlertMsg().open(FlexGlobals.topLevelApplication as DisplayObjectContainer, true);
            }

        ]]>
    </fx:Script>

    <fx:Declarations>
        <fx:Component className="AlertMsg">
            <s:SkinnablePopUpContainer x="70" y="300">
                <s:TitleWindow title="My Message" close="close()">
                    <s:VGroup horizontalAlign="center" paddingTop="8" paddingBottom="8" paddingLeft="8" paddingRight="8" gap="5" width="100%">
                        <s:Label text="My alert message text here..."/>
                        <s:Button label="OK" click="close()"/>
                    </s:VGroup>
                </s:TitleWindow>
            </s:SkinnablePopUpContainer>
        </fx:Component>
    </fx:Declarations>

    <s:Panel id="thePanel" title="Panel" backgroundColor="blue">
        <s:Button id="btnTest" label="Test"
                  click="btnTest_clickHandler(event)" />
        <s:BorderContainer id="webContainer" y="50" width="400" height="300" />
    </s:Panel>

</s:Application>

有什么想法吗?

最佳答案

我完全同意@www.Flextras.com 的观点,除了用快照替代WebView 之外,没有其他解决方法。有一个现成的解决方案 http://www.judahfrangipane.com/blog/2011/01/16/stagewebview-uicomponent/

关于apache-flex - SkinnablePopUpContainer 在视觉上被 Flex 中的 StageWebView 遮挡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14491972/

相关文章:

java - 转换 XML 中的任何 ActionScript 类

jquery - 如何使弹出div锁定到jQuery中的页面坐标

Javascript 弹出功能

css - 如何使按钮在单击时消失并显示另一个按钮?

ios - 尽管 block 已被复制,但 block 正在阻止释放

apache-flex - 在 Flex 中禁用 WindowedApplication 调整大小

javascript - 您知道 ActionScript 3 中的 1024 Overriding a function error on flex (flash ) 吗?

css - 在 Flex 中将 CSS 值覆盖为空

javascript - 如何一次只打开 1 个弹出窗口?

iOS Parse Block 结果存储在 UILabel 中