2013-02-08 166 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