66 Stimmen

Zoom in Android WebView aktivieren/deaktivieren

In WebSettings gibt es einige Methoden, die sich auf den Zoom beziehen:

  • WebSettings.setSupportZoom
  • WebSettings.setBuiltInZoomControls

Ich habe festgestellt, dass sie auf einigen Geräten anders funktionieren. Zum Beispiel auf meinem Galaxy S pinch to zoom ist standardmäßig aktiviert, aber auf LG P500 ist es deaktiviert (Und jetzt weiß ich nicht, wie NUR pinch to zoom zu aktivieren, aber verstecken Zoom-Tasten).

Auf P500, wenn ich anrufe setBuiltInZoomControls(true) Ich bekomme beide Varianten zum Laufen (Multitouch und Tasten).

Wie kann man den Multitouch-Zoom aktivieren und die Zoom-Tasten auf Geräten wie dem LG P500 deaktivieren? (Ich weiß auch, dass es die gleichen Probleme auf HTC-Geräten gibt)

UPDATE: Hier ist der fast vollständige Code für die Lösung

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;
    }
}

Dieser Code befindet sich in meinem onTouchEvent überschriebene Methode der WebView.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X