2012-06-28 4 views
0

나는 Adobe Flex/Flash 빌더 인 StageWebView를 사용하여 웹 페이지를 렌더링하려했지만 폰 화면 크기에 맞게 웹 페이지를 확장하지는 않았으며 기본적으로 웹 페이지의 오른쪽면을 잘라 냈습니다. 나는 사용하려고 시도했다Adobe Flex/Flash Builder StageWebView가 웹 페이지 너비로 조정되지 않습니다.

<meta name="viewPort" content="width=device-width; initial-scale=1.0; 
      maximum-scale=1.0; user-scalable=no;" /> 

이것은 효과가 없다. 아래는 현재 사용중인 Flex 코드입니다.

<?xml version="1.0" encoding="utf-8"?> 

<fx:Script> 
    <![CDATA[ 
     import flash.media.StageWebView; 
     import flash.net.URLRequest; 
     import spark.events.ViewNavigatorEvent; 

     protected var webView:StageWebView = new StageWebView(); 
     protected var openBrowser:Boolean = false; 


     protected function view1_viewActivateHandler(event:ViewNavigatorEvent):void 
     { 
      if (StageWebView.isSupported) 
      { 
       currentState = "normal"; 
       webView.stage = stage; 
       webView.viewPort = new Rectangle(0,75,stage.stageWidth,stage.stageHeight); 
       webView.addEventListener(LocationChangeEvent.LOCATION_CHANGE,onURLChange);  
       webView.loadURL("http://nealdrake.com/mls.html");  
       addEventListener(ViewNavigatorEvent.REMOVING,onRemove); 
      } 
      else { 
       currentState = "unsupported"; 
       lblSupport.text = "StageWebView feature not supported"; 
      }  
     } 

     protected function onURLChange(event:LocationChangeEvent):void 
     { 
      trace("URL change"); 
      // Uncomment the following line to load in the default browser instead... 
      //navigateToURL(new URLRequest(event.location)); 
     } 

     protected function onRemove(event:ViewNavigatorEvent):void 
     { 
      this.webView.dispose(); 
     } 
    ]]> 
</fx:Script> 

<s:states> 
    <s:State name="normal"/> 
    <s:State name="unsupported"/> 
</s:states> 

<s:Label id="lblSupport" includeIn="unsupported" width="95%" horizontalCenter="0" verticalCenter="0"/> 

어떤 도움을 주시면 감사하겠습니다!

답변

0

그게 내가이 기대했던 것과 이후 나는 그것이 바닥보다는 오른쪽을 차단있어 놀랐어요 :

webView.viewPort = new Rectangle(0,75,stage.stageWidth,stage.stageHeight);

당신은 어떤 X에 대한 계산이 필요하거나 Y는 오프셋 이처럼 폭과 높이 :

webView.viewPort = new Rectangle(0,75,stage.stageWidth,stage.stageHeight - 75);

그것은 당신의 StageWebView이 앱의 크기 전에 초기화되고 있음을 수 있습니다 올바른 것입니다. 뷰포트를 다시 설정하는 리사이즈 처리기 (위의 코드에서 가져온 구성 요소에서 Event.RESIZE 이벤트 수신 대기)를 추가하십시오.

+0

@micspsm에게 조언을 주셔서 감사하지만 x 오프셋이 작동하지 않았습니다. 나는 Event.RESIZE를 시도했지만 제대로했는지 확신 할 수 없다. 스크린 샷 : [link] http://nealdrake.com/app-screenshoot.html [link] – user1489333

+0

표시하고있는 웹 페이지를 제어 할 수 있습니까? 그렇다면 Flex에서 구현할 수있는 것보다 모바일 크기의 치수를 지원하기 위해 CSS를 조정하는 것이 더 중요합니다. StageWebView가 잘 설정된 것처럼 스크린 샷에서 보입니다. * content *가 문제입니다. – micapam

관련 문제