Можно ли отключить все прокрутки и масштабирования в веб-обозревании Android? - PullRequest
5 голосов
/ 22 октября 2011

Я пытался найти ответ, но пока не смог.

У меня есть активность, которая использует WebView. Все, что отображается пользователю, отображается в HTML и JavaScript. То есть WebView занимает весь экран, который может. APK используется для хранения определенных постоянных данных и запуска WebView.

В пользовательском интерфейсе внизу есть меню навигации на основе значков (5 значков в нижней части экрана) и несколько визуальных элементов в верхней части (изображение логотипа и кнопка поиска). Все, что находится между верхними элементами и нижней панелью навигации, может быть изменено, обновлено или обновлено в зависимости от действий пользователя. Различные макеты HTML, отображаемые между верхней и нижней константами, можно перемещать влево, вправо, вверх и вниз.

Проблема: Когда пользователь нажимает крайний правый значок навигации в правом нижнем углу экрана, весь макет WebView сдвигается влево на 5-10 пикселей. Если крайний правый значок коснется его левого края, этого не произойдет. Нажатие на другую иконку вернет WebView обратно в правильное положение. Нажатие на крайнюю левую иконку не вызывает аналогичного поведения справа. Прикосновение к активным или неактивным HTML-элементам (которые можно перемещать, проводя пальцем) по краям экрана не приводит к изменению поведения.

Первоначально область справа на экране была заполнена белым, когда WebView сместился, и я подумал, что это ScrollBar. Я сделал каждый бит ScrollBar и отключение зума я могу. Теперь область имеет цвет фона (черный), когда происходит сдвиг.

Кто-нибудь знает способ заблокировать дур WebView на месте?

1 Ответ

0 голосов
/ 26 июля 2013

Да, вы можете отключить всю прокрутку в Webviews, изменив настройки WebView.Вот код для этого:

WebView myWebView = (WebView) findViewById(R.id.appView); 
myWebView.setVerticalScrollBarEnabled(false);
myWebView.setHorizontalScrollBarEnabled(false);
...