2012-09-06 17 views
5

Tengo una vista web. WebView muestra html con texto, imágenes, botones, etc.
Quiero hacer algunas cosas.

1) Ese usuario no puede seleccionar texto en webView

2) El mismo comportamiento de clic y clic largo por botón.android webview contenido no seleccionable

me hizo las cosas siguientes para resolver mis problemas: En primer lugar, he añadido al estilo de página html:

body { 
    ... 
    -webkit-user-select: none; 
    -webkit-touch-callout: none; 
    ... 
} 

Pero no me ayudaron. Esta solución no funcionó en todos los androides.
Así que traté de agregar touch listener a webView.

Código del oyente:

webView.setOnTouchListener(new OnTouchListener() { 

    private float prevX; 
    private float prevY; 

    @Override 
    public boolean onTouch(View v, MotionEvent event) { 

     boolean handled = true; 
     if (MotionEvent.ACTION_DOWN == event.getAction()) { 
      prevX = event.getX(); 
      prevY = event.getY(); 
     } else if (MotionEvent.ACTION_UP == event.getAction()) { 
      if (Math.abs(event.getX() - prevX) < 50 
        && Math.abs(event.getY() - prevY) < 50) { 
       handled = (event.getEventTime() - event 
         .getDownTime()) > 200; 
      } 
     } 

     Log.d("-------------------------------------------------", ""+handled); 

     return handled; 
    } 

}); 

Pero esto no funcionaba bien, puede ser que hice algo mal? Después de eso me trataron de agregar a largo oyente clic:

webView.setOnLongClickListener(new OnLongClickListener() { 

    @Override 
    public boolean onLongClick(View v) { 
     v.performClick(); 
     return true; 
    } 
}); 

Esta solución sólo resuelve el primer problema.

Entonces, ¿dónde me equivoqué?

+0

¿quieres que no se pueda hacer clic en tu vista web o en otra cosa? por favor, elabore ... –

+0

Quiero que se pueda hacer clic en esa vista web, pero no se puede hacer clic en algunas partes de la página html. No quiero que el usuario pueda hacer copias de partes de texto en la página html. Pero en la página html tengo entradas y botones ... – yugico

+0

Gracias por las correcciones de errores en la gramática ... – yugico

Respuesta

0

Pruebe usar addJavascriptInterface(); de WebView. Crea una clase interna de Actividad. La clase es una interfaz entre Android y Your Jscript. Tienes que usar Jscript para esto.