Android webview缩放问题

标签 android android-webview viewport autoscaling

我在 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/

相关文章:

java - Gradle 构建错误 java.lang.IllegalArgumentException

android - 如何创建怯场插件

android - 如果未安装应用程序,则启动 Google Play 商店

java - 强制 React-Native webview 将 url 加载为移动设备?

html - 如何针对不同的屏幕尺寸更改 iframe 的高度?

java - 连接到瑞典维基百科以提取信息

android - 将多个字符串格式化为一个字符串

java - 如何从 Web View 获取当前 URL 并将其保存为字符串

java - Camera在Libgdx中以及与视口(viewport)一起工作的方式

javascript - 如果元素距离视口(viewport)顶部 300px,则更改元素的 css 属性