android-在某些设备的webview上将图像居中时,图像看起来很小
作者:互联网
我只想将图像固定在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();
}
});
所以我的问题是,为什么它在小屏幕设备上不起作用?如何解决这个问题?
解决方法:
试试这个
不要在Pixel中指定宽度固定,因为android中有如此大的屏幕尺寸和分辨率,因此请使用相对尺寸.
String data = "<body><center><img height=\"auto\" style=\"max-width:100\\%\"; src=\"" + url + "\" /></center></body></html>";
webView.loadData(data, "text/html", null);
在此我们指定了宽度100%和高度“自动”.这样就可以保持纵横比并且图像不会拉伸.
标签:centering,webview,fixed-width,android 来源: https://codeday.me/bug/20191030/1967680.html