WebView pozbywa się podwójnego powiększania.

Przeczytałem wiele biletów na temat Powiększania w WebView i nie znalazłem odpowiedzi w moim przypadku.

Oto moja konfiguracja:

Używam niestandardowego widoku z ogólnymi ustawieniami:

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

Pozwólcie mi zauważyć tutaj, że polegam na trybie OverviewMode i WideViewPort, aby skalować mój WebView.

Nadpisuję także mój OnTouchEvent i deleguję wszystkie odpowiednie zdarzenia do detektora gestów:

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

Oto implementacja jego słuchaczy, która przechwytuje wszystkie zdarzenia 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;
  }

Również nadpisałem te 2 metody WebView związane z powiększeniem:

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

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

Poza tymi wszystkimi opcjami pewna częstotliwość stuknięć spowoduje, że mój widok internetowy będzie powiększany / pomniejszany. Nie znalazłem opcji, która wyłącza ten rodzaj powiększania, wydaje się, że MotionEvent dla tego powiększenia nie ma zastosowania dla GestureDetector, a metody zoomOut () nadpisania zoomIn () również nie działają.

Czy ktoś może mi pomóc w uniknięciu tego podwójnego dotknięcia powiększenia WebView?

questionAnswers(6)

yourAnswerToTheQuestion