WebView избавляется от двойного увеличения.

Я прочитал много заявок на тему масштабирования в WebViews и не пришел к ответу для моего случая.

Вот мои настройки:

Я использую настраиваемое веб-представление со следующими настройками:

getSettings().setBuiltInZoomControls(false);
getSettings().setSupportZoom(false);
getSettings().setUseWideViewPort(true);
getSettings().setLoadWithOverviewMode(true);

Позвольте мне отметить прямо здесь, что я зависим от OverviewMode, а также от WideViewPort для масштабирования моего WebView.

Я также перезаписываю свой OnTouchEvent и делегирую все подходящие события детектору жестов:

  @Override
  public boolean onTouchEvent(MotionEvent event) {
    if (gestureDetector.onTouchEvent(event)) return true;
    return super.onTouchEvent(event);
  }

Вот его реализация слушателей, которая перехватывает все события doubleTap:

  @Override
  public boolean onDoubleTapEvent(MotionEvent e) {
    // Do nothing! 
    return true;
  }

  @Override
  public boolean onDoubleTap(MotionEvent e) {
    // Do nothing! 
    return true;
  }

  @Override
  public boolean onSingleTapConfirmed(MotionEvent e) {
    // Do nothing! 
    return true;
  }

Также я переопределил эти 2 метода WebView, связанных с масштабированием:

  @Override
  public boolean zoomIn() {
    return true;
  }

  @Override
  public boolean zoomOut() {
    return true;
  }

Тем не менее, ни одна из этих опций не позволяет увеличивать / уменьшать масштаб моего веб-просмотра. Я не нашел опцию, которая отключает этот вид масштабирования, MotionEvent для этого Zoom, кажется, не применим для GestureDetector, и переопределенные методы zoomIn () zoomOut () также не имеют никакого эффекта.

Может ли кто-нибудь помочь мне избежать поведения двойного касания в WebView?

Ответы на вопрос(6)

Ваш ответ на вопрос