我在 WebView
(Android) 中有一个 GridView
,需要确定可以适合屏幕的项目数量。我需要将此号码发送到服务器以从服务器检索这么多项目。当我在 Activity 中查询屏幕尺寸时,它返回宽度:800和高度:522(横向)。但是当从javascript查询宽度时,返回的宽度是1063。我已经对Viewport
做了适当的设置。
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" />
由于两个值不同,它扰乱了我的计算。 WebView
显示的项目比我计算的每个项目还要多。
有人可以指出我搞砸了什么吗?
谢谢。
最佳答案
您需要通过在 Web View 上使用 setInitialScale 将 Web View 与屏幕布局进行映射。
初始比例以% 为单位定义,因此您需要指定如下内容
int scalingFactor = ((float)800/(float)1063)*100
mPageWeb.setInitialScale(scalingFactor);
我希望这能解决您的问题。
关于Android webview缩放问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14773645/