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

时间:2011-09-16 03:29:21

标签: android zoom android-webview

当我使用以下html时:

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

并使用WebView.setBuiltInZoomControls(true),我的网页视图可以缩放,但在我松开手指后,网页视图会缩小。

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

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

任何解决方案或代码示例?

3 个答案:

答案 0 :(得分:1)

您必须计算手动使用的比例。 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 LINK

答案 1 :(得分:0)

我相信你写错了!

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

这是高度,而不是你到那里。

答案 2 :(得分:0)

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

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