我正在制作Adobe Air应用程序。当我在flash中运行我的应用程序时,我的StageWebView对象位于x0,y0我想要的方式。在Flash中编译时,StageWebview内容占用320px乘以50px。闪光灯阶段是480x800。
当我在移动设备上编译并运行我的应用程序时,即使Air原始大小和手机分辨率为480x800,StageWebview也会被拉伸并从屏幕右侧泄漏。 StageWebView内容还获取滚动条以查看所有内容。
如何让我的设备版本显示为我的Flash预览版?
Flash代码
imports
import flash.events.Event;
import flash.events.LocationChangeEvent;
import flash.geom.Rectangle;
import flash.media.StageWebView;
import flash.net.navigateToURL;
import flash.net.URLRequest;
import flash.events.MouseEvent;
import flash.events.TouchEvent;
// setup variables
var _stageWebView:StageWebView;
var myAdvertURL:String = "website link here";
//
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT
function createAd():void {
// check that _stageWebView doersn't exist
if (! _stageWebView) {
_stageWebView = new StageWebView () ;
// set the size of the html 'window'
_stageWebView.viewPort = new Rectangle(0,0,320,50);
// add a listener for when the content of the StageWebView changes
_stageWebView.addEventListener(LocationChangeEvent.LOCATION_CHANGING,onLocationChange);
// start loading the URL;
_stageWebView.loadURL(myAdvertURL);
}
// show the ad by setting it's stage property;
_stageWebView.stage = stage;
}
function onLocationChange(event:LocationChangeEvent):void {
// check that it's not our ad URL loading
if (_stageWebView.location != myAdvertURL) {
// stop the content from loading within StageWebView
event.preventDefault();
// Launch a normal browser window with the captured URL;
navigateToURL( new URLRequest( event.location ) );
}
}
createAd();
HTML
<!DOCTYPE html>
<html>
<head>
<link href="layout-style-admob.css" rel="stylesheet" type="text/css" >
<title>Admob</title>
</head>
<body>
<script async src="xxxxxxx.js"></script>
<!-- mobiletestad2 -->
<ins class="adsbygoogle"
style="display:inline-block;width:320px;height:50px"
data-ad-client="xxxxxxxxxxx"
data-ad-slot="xxxxxxxxx"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
CSS
html,body {
}
body {
min-width:320px;
max-width:320px;
width:320px;
min-height:50px;
max-height:50px;
height:50px;
margin:0px;
}
非常感谢任何帮助。
答案 0 :(得分:0)
使用stage.stageWidth
和stage.stageHeight
:
_stageWebView.viewPort = new Rectangle(0,0,stage.stageWidth,stage.stageHeight);
您可能还需要听取方向更改事件并相应地更新视口。
有关详细信息,请参阅this answer。