2013-02-08 137 views
2

我有一个Grid ViewWebView(Android),并需要确定可以适合在屏幕上的项目数。我需要这个号码被发送到服务器从服务器检索这些许多项目。当我在我的活动中查询屏幕尺寸时,它会返回宽度:800和和高度:522(横向)。但是当从javascript查询宽度时,返回的宽度为1063.我已经为Viewport做了适当的设置。Android的webview缩放问题

<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" /> 

由于两个值都不同,它会混淆我的计算。 WebView显示比我的每个项目计算更多的项目。

有人可以指出我搞砸了什么?

谢谢。

回答

2

您需要通过在web视图上使用setInitialScale将webview与屏幕布局进行映射。

初始规模在%定义,所以你需要指定类似下面

int scalingFactor = ((float)800/(float)1063)*100 

mPageWeb.setInitialScale(scalingFactor); 

我希望这将解决您的问题。

+0

我已经设置了Webview.setInitialScale(100);我需要知道为什么我得到1063.这个值返回给特定的设备。我相信其他设备可能会返回其他值。因此我不能使用你提到的解决方案。我需要知道为什么我收到这个价值的原因,以便我可以为所有设备制定解决方案。 – SwapsAgNO3 2013-02-11 10:25:43

+0

不是100到int scalingFactor =((float)800 /(float)1063)* 100 – 2013-02-11 10:31:01

+0

我试图做的一点是我不能使用1063.这个值只对一个设备出现,即对于平板电脑。如果我使用240 * 320的设备,这个值将会改变,并且使用您的方法计算的缩放因子将会是错误的。因此我需要这个值出现的原因。 – SwapsAgNO3 2013-02-11 10:55:05