Android: deshabilita la selección de texto en una vista web

Estoy usando una webview para presentar algunas cosas con formato en mi aplicación. Para alguna interacción (que son específicos de ciertos elementos dom) uso javascript y WebView.addJavascriptInterface() . Ahora, quiero reconocer un toque largo. Desafortunadamente, onLongTouch , en Android 2.3 se muestran las manijas para la selección de texto.

¿Cómo puedo desactivar esta selección de texto sin establecer el onTouchListener y devolver true? (Entonces, la interacción con el "sitio web" ya no funciona.

Saludos y gracias de antemano, Jan Oliver Oelerich

Esto funcionó para mí

 mWebView.setOnLongClickListener(new OnLongClickListener() { @Override public boolean onLongClick(View v) { return true; } }); mWebView.setLongClickable(false); 

No he probado, si usted no desea la vibración causada por el tecleo largo, usted puede intentar esto.

 mWebView.setHapticFeedbackEnabled(false); 

Configurar la propiedad css de webkit -webkit-user-select a none resolvería el problema.

Ejemplo CSS para desactivar la selección:

 * { -webkit-user-select: none; } 

¡¡Me lo imaginé!! Así es como puede implementar su propio lector de larga duración. En la función longTouch puede hacer una llamada a su interfaz javascript.

 var touching = null; $('selector').each(function() { this.addEventListener("touchstart", function(e) { e.preventDefault(); touching = window.setTimeout(longTouch, 500, true); }, false); this.addEventListener("touchend", function(e) { e.preventDefault(); window.clearTimeout(touching); }, false); }); function longTouch(e) { // do something! } 

Esto funciona.

Parece que cortar / pegar a través de la prensa larga se apaga si se utiliza

  articleView.setWebChromeClient(new WebChromeClient(){...}) 

Consulte https://bugzilla.wikimedia.org/show_bug.cgi?id=31484

Así que si está usando setChromeClient y QUIERE tener clic largo para iniciar copiar / pegar, haga lo siguiente:

  webView.setWebChromeClient(new WebChromeClient(){ [.... other overrides....] // @Override // https://bugzilla.wikimedia.org/show_bug.cgi?id=31484 // If you DO NOT want to start selection by long click, // the remove this function // (All this is undocumented stuff...) public void onSelectionStart(WebView view) { // By default we cancel the selection again, thus disabling // text selection unless the chrome client supports it. // view.notifySelectDialogDismissed(); } }); 

Parece que la única opción es establecer onTouchListener y escribir su propio código para detectar un clic largo. A continuación, devuelve true si es un clic largo y false caso contrario.

  • ¿Es posible obtener el código HTML de WebView
  • Bucle de redirect de Webview de Android
  • Colocar una imagen dentro de una vista web y ajustarla al ancho
  • Android: WebView cargar imagen / contenido en el centro
  • Frameloader buscar extra UA String - UAProfURL
  • SysUtils: ApplicationContext es null en ApplicationStatus (WebView)
  • Android webview cargar Javascript local
  • Android - Marshmallow - Biblioteca de Webview
  • Desactivar la barra de direcciones en la vista web de Android
  • Impedir que la div clicable se destaque en Android WebView
  • Bucle muerto en backkey android webview para redireccionar href link
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.