其他分享
首页 > 其他分享> > android-在某些设备的webview上将图像居中时,图像看起来很小

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