validar style studio solo propiedades obtener numeros example eventos edittext datos android android-edittext

style - propiedades edittext android



Deshabilitar el cursor parpadeante de EditText (4)

En mi caso, quería habilitar / deshabilitar el cursor cuando la edición está enfocada.

En tu 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); }

¿Alguien sabe cómo deshabilitar el cursor parpadeante en una vista EditText ?


La solución perfecta que va más allá de la meta

Objetivo: deshabilita el cursor intermitente cuando EditText no está enfocado, y habilita el cursor intermitente cuando EditText está enfocado. A continuación, también se abre el teclado cuando se hace clic en EditText , y se oculta cuando se presiona "done" en el teclado.

1) Establezca en su xml debajo de su EditText :

android:cursorVisible="false"

2) Establecer enClickListener:

iEditText.setOnClickListener(editTextClickListener); OnClickListener editTextClickListener = new OnClickListener() { public void onClick(View v) { if (v.getId() == iEditText.getId()) { iEditText.setCursorVisible(true); } } };

3) luego onCreate , captura el evento cuando se hace OnEditorActionListener en OnEditorActionListener con OnEditorActionListener en tu 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; } });


Puede usar el atributo xml android:cursorVisible="false" o la función java setCursorVisible(false) .


Puede usar el siguiente código para habilitar y deshabilitar el cursor de edición de texto mediante programación.

Para habilitar el cursor

editText.requestFocus(); editText.setCursorVisible(true);

Para deshabilitar el cursor

editText.setCursorVisible(false);

Usando XML habilita el cursor de deshabilitar

android:cursorVisible="false/true" android:focusable="false/true"

Para que edit_text Seleccionable para (copiar / cortar / pegar / seleccionar / seleccionar todo)

editText.setTextIsSelectable(true);

Para enfocarse en el modo táctil, escriba las siguientes líneas en XML

android:focusableInTouchMode="true" android:clickable="true" android:focusable="true"

programáticamente

editText.requestFocusFromTouch();

Para borrar el enfoque en el modo táctil

editText.clearFocus()