В WebSettings есть несколько методов, связанных с масштабированием:
- WebSettings.setSupportZoom
- WebSettings.setBuiltInZoomControls
Я заметил, что они работают по-разному на некоторых устройствах. Например, на моем Galaxy S функция масштабирования по умолчанию включена, но на LG P500 она отключена (и теперь я не знаю, как включить ТОЛЬКО масштабирование, но скрыть кнопки масштабирования).
На P500, когда я звоню setBuiltInZoomControls(true)
, у меня работают оба этих варианта (мультитач и кнопки).
Как включить мультисенсорное масштабирование и отключить кнопки масштабирования на устройствах, таких как LG P500? (Кроме того, я знаю, что те же проблемы на устройствах HTC)
ОБНОВЛЕНИЕ: Вот почти полный код для решения
if (ev.getAction() == MotionEvent.ACTION_DOWN ||
ev.getAction() == MotionEvent.ACTION_POINTER_DOWN ||
ev.getAction() == MotionEvent.ACTION_POINTER_1_DOWN ||
ev.getAction() == MotionEvent.ACTION_POINTER_2_DOWN ||
ev.getAction() == MotionEvent.ACTION_POINTER_3_DOWN) {
if (multiTouchZoom && !buttonsZoom) {
if (getPointerCount(ev) > 1) {
getSettings().setBuiltInZoomControls(true);
getSettings().setSupportZoom(true);
} else {
getSettings().setBuiltInZoomControls(false);
getSettings().setSupportZoom(false);
}
}
}
if (!multiTouchZoom && buttonsZoom) {
if (getPointerCount(ev) > 1) {
return true;
}
}
Этот код находится в моем onTouchEvent
переопределенном методе WebView.