我只想修复 webview 上的图像,如下图所示。我做了一些事情来实现这一点,它实际上适用于 HTC One、三星 S2-S3-S4 等新型手机。但对于像 Galaxy Ace 这样的小屏幕设备,它不起作用,而且看起来非常小。例如图片上的android图像看起来居中但非常小。
这是我所做的
webView = (WebView)findViewById(R.id.webView);
WebSettings settings = webView.getSettings();
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
settings.setJavaScriptEnabled(true);
String data = "<body><center><img width=\""+width+"px\" height=\""+height+"px\" src=\"" + url + "\" /></center></body></html>";
webView.loadData(data, "text/html", null);
宽高计算
//linearWebview is the parent of webview, I calculated its width and height and set the image dimensions according to that values.
linearWebview.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
width = linearWebview.getWidth();
height = linearWebview.getHeight();
}
});
所以我的问题是为什么它在小屏幕设备上不起作用,我该如何解决这个问题?