2009-09-02 10 views
2

У меня есть приложение Air в Flex, предназначенное для 1280x800, которое я бы хотел растянуть, чтобы работать в полноэкранном режиме на мониторе 1920x1200.Как установить приложение Flex Air на полный экран?

Я прочитал эту статью: http://blogs.adobe.com/aharui/2008/01/flex_and_scalemodes.html и попробовал, но это только увеличивает левый верхний угол (как указано в статье).

Я работаю с WindowedApplication (показано ниже), который содержит вид (называемый MasterView), который содержит все различные элементы компоновки.

Любые предложения?

Мое приложение (вкратце) выглядит следующим образом:

<mx:WindowedApplication 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    layout="absolute" 
    width="100%" height="100%" 
    horizontalScrollPolicy="off" 
    verticalScrollPolicy="off" 
    clipContent="false" 
    windowComplete="goFullscreen()" 
    > 

private function goFullscreen():void 
{         
    Mouse.hide();  

    this.stage.scaleMode = StageScaleMode.EXACT_FIT; 
    this.stage.align = StageAlign.TOP_LEFT; 
    this.stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE; 

    try 
    { 
     showStatusBar = false; 
     removeChild(statusBar); 
    } 
    catch (err:Error) 
    { } 

    root.stage.addEventListener(KeyboardEvent.KEY_DOWN, switchFullScreen)    
} 

</mx:WindowedApplication> 

Спасибо, Габ

ответ

0

Наконец мы выяснили, что лучшим решением будет вручную установить коэффициент масштабирования. Таким образом, определяя ширину экрана/области просмотра и выясняя, как это масштабируется до размера нашего приложения, мы решили эту проблему.

5

Вы желая идти на полный экран или просто увеличить окно? Вы можете сделать последний по телефону:

this.nativeWindow.maximize(); 

И делать что-то в полноэкранном режиме вы не должны все остальные, что у вас есть. Вам нужно просто позвонить по телефону

this.stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE; 

Чтобы сделать то, что вы хотите. Разве это не работает? Как выглядит экран при вызове этого API?

= Райан

+0

Я хочу, чтобы и полноэкранный, и масштабированный, чтобы соответствовать. Но, как я упоминаю в своем вопросе, проблема в том, что только часть (верхняя левая) увеличивается, как упоминалось в статье, которую я тоже связал. Так что это проблема, она не будет масштабировать все, кроме только левых верхних 500x375 пикселей. –

2

Я также обнаружил, что это работает.

public function goFullScreen($fullScreen:Boolean){ 
     if($fullScreen){ 
      myStage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE; 
      myStage.scaleMode = StageScaleMode.EXACT_FIT;    
     } else { 
      myStage.displayState = StageDisplayState.NORMAL; 
     } 

    }