Android WebView 缩放图像不适用于 width=“100%”

发布于 2024-12-05 04:06:46 字数 359 浏览 0 评论 0原文

当我使用以下 html:

img src="file:///sdcard/image1.jpg" width="100%" heighth="100%"

并使用 WebView.setBuiltInZoomControls(true) 时,我的 webview 是可缩放的,但是在我松开手指后,webview 又缩小了。

我猜这是因为 width="100%" heighth="100%"

但是 image1.jpg 很大,一开始我想在屏幕上显示整个图像。稍后用户可以放大/缩小。

有解决方案或代码示例吗?

When I use the following html:

img src="file:///sdcard/image1.jpg" width="100%" heighth="100%"

and use WebView.setBuiltInZoomControls(true), my webview is zoomable, but after I release my finger, the webview is zoomed back.

I guess it is because of width="100%" heighth="100%".

But image1.jpg is big, and at the beginning I want to show the whole image on screen. Later the user can zoom in/out.

Any solution or code sample?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

桃扇骨 2024-12-12 04:06:46

您必须手动计算需要使用的比例。 PIC_WIDTH 是 webview 的宽度。

private int getScale(){
    Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
    int width = display.getWidth(); 
    Double val = new Double(width)/new Double(PIC_WIDTH);
    val = val * 100d;
    return val.intValue();
}

然后使用

WebView web = new WebView(this);
web.setPadding(0, 0, 0, 0);
web.setInitialScale(getScale());

参考此LINK 链接

You have to calculate the scale that you need to use manually. PIC_WIDTH is the width of the webview.

private int getScale(){
    Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
    int width = display.getWidth(); 
    Double val = new Double(width)/new Double(PIC_WIDTH);
    val = val * 100d;
    return val.intValue();
}

Then use

WebView web = new WebView(this);
web.setPadding(0, 0, 0, 0);
web.setInitialScale(getScale());

Refer this LINK LINK

自由如风 2024-12-12 04:06:46

我相信你写错了!

img src="file:///sdcard/image1.jpg" width="100%" heighth="100%"
img src="file:///sdcard/image1.jpg" width="100%" height="100%"

这是高度,而不是你在那里的高度。

I believe you're writing it wrong!

img src="file:///sdcard/image1.jpg" width="100%" heighth="100%"
img src="file:///sdcard/image1.jpg" width="100%" height="100%"

It is height and not what you've got there.

反目相谮 2024-12-12 04:06:46

如果您只显示 Sd 卡上的图像,您确定要使用 Webview,还是使用 ImageView 更有意义。有很多示例/免费代码可以扩展 ImageView 并提供此功能。

如果您只想显示图像,Webview 可能是处理此功能的最臃肿的方式。

If you are only showing a image off the Sd card are you sure you want to use a webview, or would it make more sense to use a ImageView. There are lots of examples/free code that Extend ImageView and provide this functionality.

A Webview may be the most bloated way of handling this functionality if all you want to do is display an image.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文