¿Alguien sabe cómo deshabilitar el cursor parpadeante en una vista EditText
?Deshabilitar el cursor parpadeante de EditText
Respuesta
Puede usar el atributo xml android:cursorVisible="false"
o la función java setCursorVisible(false)
.
solución perfecta que va más allá de la meta
Objetivo: Desactivar el cursor parpadeante cuando EditText
no está en foco, y permitir que el cursor parpadeante cuando EditText
está en foco. A continuación, también se abre el teclado cuando se hace clic en EditText
, y lo oculta cuando presiona "hecho" en el teclado.
1) Establecer en su xml bajo su EditText
:
android:cursorVisible="false"
2) Conjunto OnClickListener:
iEditText.setOnClickListener(editTextClickListener);
OnClickListener editTextClickListener = new OnClickListener()
{
public void onClick(View v)
{
if (v.getId() == iEditText.getId())
{
iEditText.setCursorVisible(true);
}
}
};
3) a continuación onCreate
, capturar el evento cuando se hace se presiona mediante OnEditorActionListener
a su EditText
y luego setCursorVisible(false)
.
//onCreate...
iEditText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId,
KeyEvent event) {
iEditText.setCursorVisible(false);
if (event != null&& (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
InputMethodManager in = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
in.hideSoftInputFromWindow(iEditText.getApplicationWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);
}
return false;
}
});
KeyEvent.KEYCODE_ENTER no funcionará para todos los teclados. Tendrá que mencionar específicamente android: imeOptions = "actionDone" en el diseño y luego manejar EditorInfo.IME_ACTION_DONE también. – PsyGik
La mejor respuesta debería reemplazarse al hacer clic con el botón táctil porque algunas veces edita el foco de ganancia de texto sin hacer clic, por lo que en este caso el cursor no se mostrará – Tony
En mi caso, quería activar/desactivar el cursor cuando se enfoca la edición.
En su actividad:
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (v instanceof EditText) {
EditText edit = ((EditText) v);
Rect outR = new Rect();
edit.getGlobalVisibleRect(outR);
Boolean isKeyboardOpen = !outR.contains((int)ev.getRawX(), (int)ev.getRawY());
System.out.print("Is Keyboard? " + isKeyboardOpen);
if (isKeyboardOpen) {
System.out.print("Entro al IF");
edit.clearFocus();
InputMethodManager imm = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(edit.getWindowToken(), 0);
}
edit.setCursorVisible(!isKeyboardOpen);
}
}
return super.dispatchTouchEvent(ev);
}
Bastante seguro quiere que 'edit.setCursorVisible (! IsKeyboardOpen);' sea 'edit. setCursorVisible (isKeyboardOpen); 'para que el cursor esté visible cuando el teclado está presente. –
Puede utilizar siguiente código para activar y desactivar cursor de edición de texto mediante programación.
Para habilitar cursor
editText.requestFocus();
editText.setCursorVisible(true);
Para desactivar el cursor
editText.setCursorVisible(false);
uso de XML permite desactivar el cursor
android:cursorVisible="false/true"
android:focusable="false/true"
Para hacer edit_text seleccionable a (copiar/cortar/pegar/select/seleccionar todo)
editText.setTextIsSelectable(true);
Para centrarse en el modo táctil de escritura siguientes líneas en XML
android:focusableInTouchMode="true"
android:clickable="true"
android:focusable="true"
programación
editText.requestFocusFromTouch();
Para borrar enfoque en el modo táctil
editText.clearFocus()
- 1. Google Docs Cursor parpadeante "kix-cursor-caret"
- 2. cómo ocultar el cursor parpadeante en el texto de entrada?
- 3. Android Edittext cursor invisible
- 4. ¿Cómo ocultar el cursor parpadeante del cuadro de texto?
- 5. ¿Cómo desactivar el cursor parpadeante en la ventana de comandos?
- 6. Mover el cursor al final de EditText?
- 7. ¿Cómo alinear el cursor EditText correctamente?
- 8. ¿Cómo deshabilitar el posicionamiento del cursor y la selección de texto en EditText? (Android)
- 9. Colocando el cursor (cursor parpadeante) en la entrada TextField para la entrada del usuario en AS3.
- 10. cursor de texto de Android en EditText
- 11. Edittext line number y currentline cursor position.
- 12. Sin cursor en editText en Honeycomb
- 13. ¿Por qué el cursor parpadeante en el campo de texto hace que se llame a drawRect?
- 14. Cambiando donde se inicia el cursor en un EditText expandido
- 15. Cambiar el color del cursor de un EditText en Android 3.0
- 16. Cómo deshabilitar el cursor en el cuadro de texto?
- 17. Mostrando el cursor parpadeante en la entrada de texto no enfocado
- 18. ¿Cómo puedo ocultar el cursor del campo de texto parpadeante usando CSS?
- 19. ¿Cómo eliminar el foco de EditText cuando el usuario finaliza la edición?
- 20. Icono de bandeja parpadeante
- 21. Título parpadeante de Jquery
- 22. Cómo obtener la posición del cursor en un Edittext
- 23. Android 4.0 EditText cursor siempre es invisible para editable = falso
- 24. Parpadeante jQuery .animation()
- 25. Personalizar el cursor de texto en el elemento contenteditable
- 26. Cómo deshabilitar el botón "Siguiente" en un teclado de software EditText (reemplace con el botón "Hecho")
- 27. Habilitar y deshabilitar el botón de acuerdo con el texto en EditText en Android
- 28. Prevenir el parpadeo del cursor en el cuadro de texto
- 29. MultiLine EditText en Android con el cursor comenzando en la parte superior
- 30. EditText setText() establece el texto en varias vistas de EditText
impresionante, esto junto con OnClickListener que lo hace visible da el comportamiento correcto :) – Warpzit
androide: cursorVisible = "false " (trabajó para mi. gracias) –
@cerin ¿hay alguna manera de ocultar el marcador azul para poder desactivar el pegado, pero mantener el cursor visible para que el usuario vea dónde está en el campo? – limlim