Android WebView масштабирование изображения не работает для ширины = "100%" - PullRequest
3 голосов
/ 16 сентября 2011

Когда я использую следующий html:

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

и использую WebView.setBuiltInZoomControls(true), мой веб-просмотр можно масштабировать, но после того, как я отпущу палец, веб-просмотр снова увеличится.думаю, это из-за width="100%" heighth="100%".

Но image1.jpg большой, и в начале я хочу показать все изображение на экране.Позже пользователь может увеличивать / уменьшать масштаб.

Любое решение или пример кода?

Ответы [ 3 ]

1 голос
/ 12 мая 2012

Вы должны рассчитать шкалу, которую вам нужно использовать вручную. PIC_WIDTH - ширина веб-просмотра.

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());

Ссылка ССЫЛКА ССЫЛКА

0 голосов
/ 17 мая 2012

Если вы показываете только изображение с SD-карты, уверены ли вы, что хотите использовать веб-просмотр, или имеет смысл использовать ImageView.Существует множество примеров / свободного кода, которые расширяют ImageView и предоставляют эту функциональность.

Webview может быть наиболее раздутым способом обработки этой функциональности, если все, что вы хотите сделать, это отобразить изображение.

0 голосов
/ 15 мая 2012

Полагаю, вы пишете неправильно!

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

Это высота, а не то, что у вас есть.

...