2010-10-04 28 views

Respuesta

62
mWebView.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     return true; 
    } 
}); 

Desactiva todos los eventos táctiles en un WebView porque el oyente táctil se ejecuta antes de que el comportamiento por defecto del tacto WebView. Al devolver true, el evento se consume y no se propaga al WebView.

El uso de android:clickable="false" no deshabilita los eventos táctiles.

+0

Entonces, ¿cómo restaurar los eventos? Imagine que tengo que desactivarlos temporalmente y luego volver a habilitarlos cuando lo necesite. – Hosane

+2

En realidad, configurar tanto 'android: clickable' como longClickable debería ser el truco para una vista web –

1

Si te entendí bien solo tienes que sobrescribir el método onTouchEvent.

+0

Lo más probable es que funcione. Me preguntaba si había una propiedad o algo más sencillo que eso. – hpique

+0

Ah, veo bien, entonces es posible que desee tratar de darle a su WebView este parámetro de diseño android: clickable = "false". No estoy seguro si funciona, pero teóricamente debería hacerlo, ya que WebView se hereda de View. –

+0

No funciona, pero encontré otra solución que publiqué. – hpique

Cuestiones relacionadas