Android WebView масштабирование с помощью масштабирования
Вопрос
ПРИВЕТ,
Можно ли поддерживать масштабирование WebView (аналогично браузеру по умолчанию), когда пользователь зажимает и перемещает их пальцы ближе / дальше. Я использую 2.2 и заслуживает, это будет возможно, используя ShareSceCteTector. Проблема в том, что я не могу найти метод для установки масштаба. WebView.getscale () Возвращает текущую масштаб, которая изменяется через Zoomin () и Zoomeout (), но я не могу найти устанавливать () или возможность установить масштабирование по умолчанию, и пусть OS обрабатывает его.
Энди
Решение
Использовать:
webview.getSettings().setBuiltInZoomControls(true);
Чтобы сделать защемление масштабирования и поместить кнопки увеличения / выхода по умолчанию на экране.
Другие советы
Вам нужно реализовать OntouchEvent (MotionEvent) в вашем WebView.
Затем в этом случае пропустите движущийся к MotionEvent к Scale GestRedeTector так, чтобы он мог ее обработать, а затем позвонить в супер.
class ScalableWebView extends WebView implements ScaleGestureDetector.OnScaleGestureListener
{
ScaleGestureDetector mScaleDetector = new ScaleGestureDetector(this, this);
public boolean onTouchEvent(MotionEvent event)
{
if(mScaleDetector.onTouchEvent(event))
return true;
return super.onTouchEvent(event);
}
boolean onScaleBegin(ScaleGestureDetector detector)
{
//handle scale event begin
}
boolean onScale(ScaleGestureDetector detector)
{
//handle scale event
}
boolean onScaleEnd(ScaleGestureDetector detector)
{
//handle scale event end
}
}
Существует setScale
, попробуй это :
webView.setInitialScale((int)(100 * webView.getScale());