WebView для чтения и увеличения изображения без изменения масштаба

Я использую WebView для загрузки локального изображения, и мне нужно его увеличить, но у меня проблема, у него есть +/- для увеличения, но они не работают, а также с двумя пальцами я не могу масштабировать ( гиды, которые я видел, увеличивают также таким же образом). Немного увеличивайте только двойным щелчком.

Мой веб-просмотр (то есть в режиме прокрутки):

<ScrollView xmlns:android = "http://schemas.android.com/apk/res/android"
    android:layout_width = "match_parent"
    android:layout_height = "match_parent"
    android:fillViewport = "true">

<WebView
            android:layout_width = "match_parent"
            android:layout_height = "400dp"
            android:layout_marginTop = "50dp"
            android:layout_marginRight = "15dp"
            android:layout_marginLeft = "15dp"
            android:layout_marginBottom = "20dp"
            android:id = "@+id/webview" />

Код класса Java:

WebView wv = null;
wv = (WebView) findViewById(R.id.webview);
        wv.getSettings().setUseWideViewPort(true);
        wv.getSettings().setBuiltInZoomControls(true);
        wv.getSettings().setSupportZoom(true);
        wv.setInitialScale(1);
        wv.loadUrl("file:///android_res/drawable/map.jpg");

Изображение правильно загружается с масштабом 1 полностью (еще не увеличено), но я не могу масштабировать его двумя пальцами. Где ошибки? Большое спасибо

Попробуй это?? wv.getSettings (). setBuiltInZoomControls (истина); wv.getSettings (). setDisplayZoomControls (ложь); Он скроет элементы управления масштабированием, и будет работать только масштабирование пальцем.

sanjeev 04.08.2018 20:33

Также не используйте это, если вы хотите использовать функцию масштабирования wv.getSettings().setUseWideViewPort(true);.

sanjeev 04.08.2018 20:38

если я сделаю это, изображение исчезнет

Mattia 04.08.2018 21:33
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
35
1

Ответы 1

Удалите wv.setInitialScale (1);

Это позволит разместить изображение на видимом экране. Тогда вы сможете увеличивать масштаб

если я уберу начальную шкалу, изображение начнет увеличиваться при максимальном уровне масштабирования

Mattia 04.08.2018 21:33

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

Viswanath Kumar Sandu 04.08.2018 21:39

Мне нужно разместить длинное текстовое представление над веб-просмотром, но также убрать прокрутку и текст, он не меняется

Mattia 04.08.2018 21:41

Можете ли вы попробовать удалить scrollview и добавить эту строку wv.getSettings (). setDisplayZoomControls (ложь);

Viswanath Kumar Sandu 04.08.2018 21:43

Другие вопросы по теме