我有一个 WebView我试图在加载页面时将其缩放到一定百分比。此软件的 iPhone 版本使用 HTML 元标记:
<meta name="viewport" content="width=320, initial-scale=0.95, maximum-scale=2.0, user-scalable=1">
由于 Android 的 WebView 似乎不尊重该标记,因此我使用 setInitialScale() 对百分比进行了硬编码。 .然而,WebView 完全忽略了这个方法调用。无论我在其中输入什么数字,它都显示为 100%。
想法?
更新:它在模拟器、我的 Droid (Motorola) 或我的 G1 (HTC) 上不工作。
最佳答案
某些 HTC 设备在 WebView
方面存在问题,试试这个代码段!
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
myWebView = new WebView(this);
myWebView.getSettings().setLoadsImagesAutomatically(true);
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.getSettings().setBuiltInZoomControls(true);
myWebView.setInitialScale(100);
try {
Method m = myWebView.getClass().getMethod("setIsCacheDrawBitmap", boolean.class);
if (m != null) {
m.invoke(myWebView, false);
myWebView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);
}
} catch (NoSuchMethodException e) {
} catch (IllegalAccessException e) {
} catch (InvocationTargetException e) {
}
myWebView.loadUrl("http://www.stackoverflow.com");
关于Android WebView 不考虑缩放百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3025657/