Как включить управление масштабированием и масштабирование в WebView? - PullRequest
113 голосов
/ 19 августа 2011

Приложение браузера по умолчанию для Android отображает элементы управления масштабированием при прокрутке, а также позволяет масштабировать масштабирование. Как я могу включить эту функцию для моего собственного Webview?

Я пробовал:

webSettings.setBuiltInZoomControls(true);
webSettings.setSupportZoom(true);

, но в результате ни одна из функций не будет включена. Кстати, я установил WebChromeClient и WebViewClient для веб-просмотра, если это имеет значение.

Спасибо!

Ответы [ 6 ]

259 голосов
/ 24 августа 2011

Странно. Внутри метода OnCreate я использую

webView.getSettings().setBuiltInZoomControls(true);

И здесь все работает нормально. Что-нибудь особенное в вашем веб-обозрении?

78 голосов
/ 15 сентября 2015

Используйте это:

webview.getSettings().setBuiltInZoomControls(true);
webview.getSettings().setDisplayZoomControls(false);
32 голосов
/ 02 сентября 2013

Проверьте, нет ли у вас ScrollView, обертывающего ваше веб-представление .

В моем случае это была проблема. Похоже, ScrollView мешает ущипнуть жест.

Чтобы исправить это, просто выведите свое веб-представление за пределы ScrollView .

1 голос
/ 19 февраля 2019

Внутри OnCreate добавьте:

 webview.getSettings().setSupportZoom(true);
 webview.getSettings().setBuiltInZoomControls(true);
 webview.getSettings().setDisplayZoomControls(false);

Внутри html-документа добавьте:

<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2, user-scalable=yes">
</head>
</html>

Внутри JavaScript, пропустите:

//event.preventDefault ? event.preventDefault() : (event.returnValue = false);
1 голос
/ 01 января 2019

Попробуйте этот код, я работаю нормально.

 webSettings.setSupportZoom(true);
 webSettings.setBuiltInZoomControls(true);
 webSettings.setDisplayZoomControls(false);
0 голосов
/ 14 июня 2019

Чтобы включить элементы управления масштабированием в WebView, добавьте следующую строку:

webView.getSettings().setBuiltInZoomControls(true);

С помощью этой строки кода вы активируете масштабирование в WebView, если вы хотите удалить предоставленные кнопки увеличения и уменьшения, добавьте следующую строку кода:

webView.getSettings().setDisplayZoomControls(false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...