Программно уменьшить масштаб в веб-представлении android



Мне нужно найти способ программно уменьшить масштаб веб-представления на android. Фон: я создал веб-приложение phonegap/cordova, которое имеет фиксированный макет. Я использую эти настройки для правильного отображения приложения на разных устройствах:



this.appView.getSettings().setUseWideViewPort(true); 
this.appView.getSettings().setLoadWithOverviewMode(true);
this.appView.getSettings().setSupportZoom(true);
this.appView.getSettings().setDefaultZoom(ZoomDensity.FAR);
this.appView.getSettings().setBuiltInZoomControls(true);
this.appView.setInitialScale(0);


До сих пор это работало хорошо, пока поле ввода текста не приобрело фокус. Затем приложение масштабируется, и его невозможно вернуть к правильному виду. Я искал и работал над этой проблемой больше дня, теперь попробовал много возможных решений, но ни одно не работало для меня. То подход, над которым я сейчас работаю, заключается в том, чтобы сделать собственный вызов, когда поле ввода текста теряет фокус, а затем сбросить масштаб. Но я не знаю, как сбросить масштаб.



webView.zoomOut(); слишком медленно и webView.setInitialScale(..); ничего не делает.



Я ищу что-то вроде webView.setZoomLevel(..); или webView.setScale(..);, но не могу найти его в api.



Дергаю себя за волосы по этому поводу.. Пожалуйста помочь.



Кстати, моя настройка мета-видового экрана



<meta name="viewport" content="width=640,height=device-height,target-densityDpi=device-dpi" />
588   2  

2 ответов:

Нет ответа на этот вопрос. Я думаю, что нет никакого способа установить уровень масштабирования, кроме уменьшения масштаба с помощью функции zoomOut(). Так что мне пришлось с этим смириться.

Помогает ли один из ответов на этот вопрос? Как установить начальный масштаб / ширину для webview

Брайан первым предложил: webview.getSettings ().setUseWideViewPort(правда); а затем littleFluffyKitty добавил: использование setInitialScale (50) наряду с другими настройками масштабирования.

Удачи, и я надеюсь, что кто-то с большей мудростью, чем у меня, даст вам лучший ответ.

Comments

    Ничего не найдено.