2012-06-28 64 views
0

我一直在嘗試使用Adobe Flex/Flash構建器StageWebView呈現網頁,但它沒有縮放網頁以適合手機屏幕尺寸,並且基本上將網頁的右側切掉。我試過使用Adob​​e 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 y偏移不起作用。我嘗試了Event.RESIZE,但不知道我是否正確地做了。屏幕截圖:[link] http://nealdrake.com/app-screenshoot.html [link] – user1489333

+0

您是否可以控制您所展示的網頁?如果是這樣,那麼這更多的是調整那裏的CSS來支持移動大小的維度,而不是你在Flex中可以實現的任何東西。它從你的截圖看起來像StageWebView設置得很好;這是*內容*是問題所在。 – micapam