2010-03-10 2 views
0

전체 화면 모드이며이 Flex 애플리케이션에서 잠시 전투를 벌여 왔으며 불행을 마무리하기 위해 Google 검색 결과에 간략히 설명하겠습니다. Application.application.stage.displayState = StageDisplayState.FULL_SCREEN;을 수행하여 전체 화면 모드로 들어가는 데 문제가 없지만 나머지 콘텐츠는 원래 크기 인 왼쪽 상단에 위치합니다.Flex 애플리케이션을 전체 화면으로 확장하는 올바른 방법은 무엇입니까?

좋아, 내가 말하길, 나는 단지 stage.scaleMode = StageScaleMode.SHOW_ALL을 수행하고 으로 만들면이 방법을 찾아 낸다. 그리고 그 것처럼 보입니다. 단, 개별 체크 박스 및 버튼과 다양한 구성 요소 위에 마우스를 올리면 모두 위젯 약간 있습니다. 크기를 조정할 때 위나 아래로 약간의 점프가 ... 이상의 마우스 . 글쎄, 이건 실망 스럽지만 참을 만하다. 나는 항상 그들 모두에 대해 명시 적으로 invalidateSize()을 호출 할 수 있습니다.

하지만 콤보 박스의 경우. 아래쪽에있는 메뉴는 화면 맨 아래로 이동하고, 전체 화면 모드에서 튀어 나오면 드롭 다운이 절반으로 줄었습니다. 을 수정하는 방법을 모르겠다.. 누군가가 여기 들어와 나를 비참하게 만들 수 있습니까?

Flex 애플리케이션을 전체 화면으로 확장하는 올바른 방법은 무엇입니까?

var button:Button = button_fullscreen; 
try { 
    if(stage.displayState == StageDisplayState.FULL_SCREEN) { 
     Application.application.stage.displayState = StageDisplayState.NORMAL; 
     button.label = "View Fullscreen Mode"; 
     stage.scaleMode = StageScaleMode.NO_SCALE; 
    } else { 
     Application.application.stage.displayState = StageDisplayState.FULL_SCREEN; 
     button.label = "Exit Fullscreen Mode"; 
     stage.scaleMode = StageScaleMode.SHOW_ALL; 
    } 
    invalidateSizes(); // Calls invalidateSize() explicitly on several components. 
} catch(error:SecurityError) { 
    Alert.show("The security settings of your computer prevent this from being displayed in fullscreen.","Error: "+error.name+" #"+error.errorID); 
} catch(error:Error) { 
    Alert.show(error.message,error.name+" #"+error.errorID); 
} 

답변

1

때때로 가지 플렉스로 잘못 :)

가 크기 조정에

stage.align = StageAlign.TOP_LEFT; 

후 다음 방법을 시도하거나 스케일링 수동으로

private function updateScaling():void 
{ 
    if(stage.stageWidth != width || stage.stageHeight != height) 
    { 
     var scaling:Number = 1; 
     if(width>height) 
     { 
      scaling = stage.stageWidth/width; 
     } 
     else 
     { 
     scaling = stage.stageHeight/height; 
     } 

     scaleX = scaleY = scaling; 
    } 
} 
을 설정 단계로 추가