Flex: как получить полноэкранный режим с одинаковыми вертикальными и горизонтальными полосами, как это было перед полноэкранным режимом - PullRequest
0 голосов
/ 09 августа 2011

проверьте мой код

// для полноэкранного режима stage.displayState = StageDisplayState.FULL_SCREEN;

// для обычного экрана stage.displayState = StageDisplayState.NORMAL;

Но этот код не соответствует моим требованиям,Мне нужна вертикальная полоса прокрутки, даже если я перехожу к FullScreen, но я не нахожу никакой прокрутки с этим кодом.

Даже я пробовал «window.open» JavaScript с ExternalInterface, но у меня не получилось.

Ответы [ 2 ]

0 голосов
/ 29 сентября 2011

Спасибо chrisdutz за ваш ответ, но, наконец, я понял, что это невозможно, если мы хотим получить scrollBar в новом окне, без externelInterface. Итак, я попробовал эту функцию JavaScript:

функция browserFullScreen (myUrl) {

    var url = myUrl;
    params  = 'width='+screen.width; 
    params += ', height='+screen.height;
    params += ', top=0, left=0';
    params += ', fullscreen=yes';
    params += ', scrollbars=yes';
    window.open (url, "_blank", params);
}

Это действительно работает. и из-за большого количества Google и других исследований, я обнаружил, что полноэкранный режим возможен с кодом Flex, но мы не можем получить полосы прокрутки браузера.

Спасибо всем.

0 голосов
/ 09 августа 2011

Ну, я думаю, Flex обычно автоматически скрывает полосы прокрутки, как только они не нужны.В вашем случае я бы создал собственный скин для Scroller или любого другого компонента, который вы используете.Вот пример:

<fx:Metadata>
<![CDATA[ 
    /** 
     * @copy spark.skins.spark.ApplicationSkin#hostComponent
     */
    [HostComponent("spark.components.Scroller")]
]]>
</fx:Metadata> 

<fx:Script>
<![CDATA[    
    /**
     *  @private
     */
    override public function beginHighlightBitmapCapture() : Boolean
    {
        var needUpdate:Boolean = super.beginHighlightBitmapCapture();

        // Draw an opaque rect that fill our entire skin. Our background
        // is transparent, but we don't want focus/error skins to
        // poke through.  This is safe to do since we don't have any 
        // graphic elements as direct children.
        graphics.beginFill(0);
        graphics.drawRect(0, 0, width, height);
        graphics.endFill();

        return needUpdate;
    }

    /**
     *  @private
     */
    override public function endHighlightBitmapCapture() : Boolean
    {
        var needUpdate:Boolean = super.endHighlightBitmapCapture();

        // Clear the rect we drew in beginBitmapCapture();
        graphics.clear();

        return needUpdate;
    }
]]>
</fx:Script>

<s:VScrollBar id="verticalScrollBar"/>

<s:HScrollBar id="horizontalScrollBar"/>

...