Android webview缩放问题

Android webview缩放问题,android,android-webview,viewport,autoscaling,Android,Android Webview,Viewport,Autoscaling,我在WebView(Android)中有一个网格视图,需要确定屏幕上可以容纳的项目数量。我需要将此号码发送到服务器,以便从服务器检索这些项目。当我在“活动”中查询屏幕大小时,它返回宽度:800和高度:522(在横向)。但是当从javascript查询宽度时,返回的宽度是1063。我已经为视口做了适当的设置 <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, minim

我在
WebView
(Android)中有一个
网格视图
,需要确定屏幕上可以容纳的项目数量。我需要将此号码发送到服务器,以便从服务器检索这些项目。当我在“活动”中查询屏幕大小时,它返回宽度:800高度:522(在横向)。但是当从javascript查询宽度时,返回的宽度是1063。我已经为
视口
做了适当的设置

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

由于两个值都不同,这会扰乱我的计算。
WebView
显示的项目比我计算的每个项目多

有人能指出我搞砸了什么吗


谢谢。

您需要在网络视图上使用setInitialScale将网络视图与屏幕布局进行映射

初始比例以%定义,因此您需要指定如下内容

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

mPageWeb.setInitialScale(scalingFactor);

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

我已经设置了Webview.setInitialScale(100);我需要知道为什么我得到1063。为特定设备返回此值。我相信其他设备可能会返回其他值。因此,我不能使用你提到的解决方案。我需要知道我收到该值的原因,以便我可以为所有设备制定一个解决方案。此值仅在一台设备上显示,即平板电脑。如果我使用240*320设备,该值将发生变化,使用您的方法计算的比例因子将不对。因此,我需要这个值出现的原因。