2012-09-06 6 views
5

Ho una visualizzazione Web. WebView mostra HTML con testo, immagini, pulsanti, ecc.
Voglio fare poche cose.

1) L'utente non può selezionare il testo in webView

2) Lo stesso comportamento del clic e del clic lungo per pulsante.contenuto webview Android non selezionabile

mi ha reso le cose prossimi per risolvere i miei problemi: Prima di tutto, ho aggiunto in html stile pagina:

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

Ma non mi ha aiutato. Questa soluzione non ha funzionato su tutti gli androidi.
Così ho provato ad aggiungere touch listener a webView.

Codice di chi ascolta:

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

}); 

Ma questo non ha funzionato neanche, potrebbe essere che ho fatto qualcosa di sbagliato? Dopo di che ho cercato di aggiungere click lungo ascoltatore:

webView.setOnLongClickListener(new OnLongClickListener() { 

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

Questa soluzione risolve solo il primo problema.

Quindi, dove ho sbagliato?

+0

vuoi che la tua webview non sia cliccabile o altro? per favore, elabora ... –

+0

Voglio che la webview sia cliccabile, ma alcune parti della pagina html non dovrebbero essere cliccabili. Non voglio che quell'utente possa fare copia di parti di testo nella pagina html. Ma nella pagina html ho ingressi e pulsanti ... – yugico

+0

Grazie per le correzioni degli errori nella grammatica ... – yugico

risposta

0

Prova a utilizzare addJavascriptInterface(); di WebView. Crea una classe interiore di attività. La classe è un'interfaccia tra Android e Your Jscript. Devi usare Jscript per questo.