StageWebView和Android的缩放/缩放问题

时间:2013-02-27 14:16:31

标签: actionscript-3 flex air loader flex-mobile

我有一个Flex Mobile应用程序,它利用StageWebView加载本地HTML文件。

我一直在我的电脑上使用内置仿真器(模拟Galaxy S3屏幕,1280x720,320dpi)和我的实际S3进行调试。

该应用将StageWebView viewPort设置为使用stageHeight和stageWidth的矩形。 (1280×720)

在PC上,它完全显示HTML文件(HTML文件的背景图像为1280x720)并且没有滚动。

在我的手机上,webview显示HTML文件“缩放”(我说放大了,但实际上你不能缩小!)我必须滚动才能查看所有内容。内容显示为两倍大小(如果我将背景图像设置为360x640,它适合手机屏幕而不滚动)

为什么设置为相同分辨率和DPI的模拟器会以不同的方式显示内容?

更重要的是,为什么我的手机似乎在“缩放”HTML文件并让我滚动?内容和手机分辨率相匹配,但StageWebView似乎并不理解。

我发现这篇文章click me,似乎暗示有一个错误,但是这个人提到他的问题是他不使用我正在使用的视口元标记!

有没有人知道我如何解决我的扩展问题,希望我的Flex应用程序可以很好地扩展到各种设备,并让StageWebView正确显示我的HTML文件?

2 个答案:

答案 0 :(得分:2)

如果你在android上使用meta视口,请确保设置target-densitydpi值

<meta name="viewport" content="width=device-width, user-scalable=no, target-densitydpi=device-dpi">

或者是否可以使用css zoom,其中缩放值与密度无关的像素(DP)值相关,与html页面大小相比

Check out this article on Adobe

答案 1 :(得分:0)

我正在用同样的问题撞到墙上。在Xoom(Android 3)上,本地文件显示完美,但在Nexus(Android 4.2.2)上,使用stagewebview无法正确显示内容。

我的解决方案是更改css标签的href。见这里:

How to reference local css files in a static webview window in android dev?

所以在我的本地HTML文件中,它改为:

<link rel="stylesheet" href="file:///styles/style.css" type="text/css" />