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?
- Cómo ocultar el teclado cuando haga clic fuera de editText?
- EditText: No se puede escribir en el contenido, cuando el EditText tiene enfoque a veces
- Android: quitar Enter Key de softkeyboard
- ¿Cómo mostrar errores de entrada en popup?
- Android EditText y el botón en la misma línea
- Borrar texto en EditText cuando se ingresa
- Rendimiento de EditText: Descripción del tiempo de procesamiento de la GPU en la renderización de GPU de perfil
- Etiqueta flotante con dos editText
- Después de cambiar el tipo de entrada de Edittext, los dígitos introducidos para el Editext no funcionan correctamente
- Deshabilitar / quitar texto Select Handle de EditText en Android
- Cómo EditarTexto Conserva su valor pero no visualiza texto cuando cambia la orientación del teléfono?
- ¿Cómo forzar a EditText a aceptar sólo números?
- ¿Hay alguna manera de definir un valor mínimo y máximo para EditText en Android?
Como MarvinLabs señaló, es un conjunto de drawables en el SDK de Android. Sin embargo, pueden ser anulados.
-
Encuentra estas imágenes en su plataforma sdk:
- Text_select_handle_left.png
- Text_select_handle_middle.png
- Text_select_handle_right.png
-
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.
-
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:
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; } }
- Configuración de GoogleMapOptions mediante programación
- La detección facial no detecta caras, Android