Android, ¿cómo puedo detener un puntero que aparece debajo de un EditText

Tengo una actividad con algunos EditTexts en ella. Cuando hago clic en un EditarTexto para cambiar el texto, aparece una flecha azul debajo de donde aparece el cursor. ¿Cómo puedo detener esta aparición?

Ejemplo de flecha azul molesta

Como MarvinLabs señaló, es un conjunto de drawables en el SDK de Android. Sin embargo, pueden ser anulados.

  1. Encuentra estas imágenes en su plataforma sdk:

    • Text_select_handle_left.png
    • Text_select_handle_middle.png
    • Text_select_handle_right.png
  2. Copiarlos a su carpeta drawables, por lo que tiene una copia local a la referencia. Usted puede cambiar los colores de éstos, hacerlos vacíos, o lo que usted quiere. Tenga en cuenta que esto como MarvinLabs dijo, puede que no sea aconsejable eliminarlos completamente porque ayudan al usuario a seleccionar texto para cortar y copiar.

  3. Si no tiene un tema personalizado definido en styles.xml, defina uno. A continuación, añada estos elementos:

_

<style name="CustomTheme" parent="@android:style/Theme.Holo.Light"> <item name="android:textSelectHandleLeft">@drawable/text_select_handle_left</item> <item name="android:textSelectHandleRight">@drawable/text_select_handle_right</item> <item name="android:textSelectHandle">@drawable/text_select_handle_middle</item> </style> 

ANTES DE:

antes de

DESPUÉS:

después

(Diferentes EditTexts pero tienes la idea)

Este puntero es un sistema de ayuda para permitir al usuario mover el cursor fácilmente (más precisamente que simplemente tocando el EditText). Así que no sé si se puede eliminar, pero estoy seguro de que no es una buena idea de todos modos.

Además, este es el tipo de puntero que obtendrá estilo diferente de acuerdo a los dispositivos. Si usted mira la fuente androide del SDK, usted encontrará algunos drawables llamados text_select_handle_XXX.png Supongo que usted encontrará de eso cómo cambiar el estilo del sistema en su propio tema.

Estoy bastante seguro de que esto sólo está ocurriendo en esa API o dispositivo específico. Podría funcionar de forma diferente en otras aplicaciones también. En última instancia, no veo ninguna forma real de desactivar algo que es nativo del dispositivo. Además, los dispositivos por ahí son muy grandes por lo que tendría un tiempo muy difícil desactivar que incluso si usted encuentra una manera.

Puede hacerlo mediante programación con un EditText personalizado. Necesita crear una implementación personalizada de MovementMethod , una tal que canSelectArbitrarily() devuelva false. A continuación, simplemente reemplazar EditText.getDefaultMovementMethod() para devolver su CustomMovementMethod :

 public class MyEditText extends EditText { private CustomMovementMethod customMovementMethod = new CustomMovementMethod(); @Override public MovementMethod getDefaultMovementMethod() { return customMovementMethod; } } private class CustomMovementMethod implements MovementMethod { @Override public boolean canSelectArbitrarily() { return false; } @Override public void initialize(TextView widget, Spannable text) { // TODO Auto-generated method stub } @Override public boolean onGenericMotionEvent(TextView widget, Spannable text, MotionEvent event) { // TODO Auto-generated method stub return false; } @Override public boolean onKeyDown(TextView widget, Spannable text, int keyCode, KeyEvent event) { // TODO Auto-generated method stub return false; } @Override public boolean onKeyOther(TextView view, Spannable text, KeyEvent event) { // TODO Auto-generated method stub return false; } @Override public boolean onKeyUp(TextView widget, Spannable text, int keyCode, KeyEvent event) { // TODO Auto-generated method stub return false; } @Override public void onTakeFocus(TextView widget, Spannable text, int direction) { // TODO Auto-generated method stub } @Override public boolean onTouchEvent(TextView widget, Spannable text, MotionEvent event) { // TODO Auto-generated method stub return false; } @Override public boolean onTrackballEvent(TextView widget, Spannable text, MotionEvent event) { // TODO Auto-generated method stub return false; } } 
  • Android EditText La vinculación se rompe después de la actualización de MvvmCross de 4.2.3 a 4.4.0 con Linker activado
  • ¿Cómo saber si el teclado (dis) aparece en Android?
  • Cómo hacer que Android EditText se expanda verticalmente cuando está lleno
  • Cómo manejar evento onClick en imageSpan en editText?
  • Detectar evento de teclado en Android
  • Teclado superpuesto EditText en clic
  • Mis opiniones se están restableciendo en el cambio de orientación
  • Cómo poner dos EditText en la misma línea
  • Mostrar error si el usuario introduce sólo espacios en EditText - Android
  • Cambiar color de sugerencia de EditText cuando se utiliza TextInputLayout
  • Android EditText onClick Listener definido en Layout falla con Obscure Exception
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.