android - tapar - teclado gboard
Forma de ocultar el teclado de teclas siempre que no afecte a las caracterÃsticas del texto de edición en Android (5)
He ocultado el teclado suave porque tengo un teclado personalizado en la aplicación. Cuando se hace clic en el texto de edición, el teclado suave no debe aparecer. Por lo tanto, he intentado de muchas maneras desde las fuentes, pero nada funcionó excepto editText.setFocusable(false);
. Pero ahora el problema es que edittext no se resalta cuando lo hice clic e incluso el cursor no está visible. He intentado usar InputManager
, android:windowSoftInputMode="stateAlwaysHidden
en el manifiesto y referí muchos como el enlace 1 , el enlace 2 , etc., pero estas técnicas al menos ni siquiera ocultan el teclado virtual en mi aplicación. Finalmente lo conseguí a través de setFocusable, pero hay un problema de resaltado y un problema de cursor invisible e incluso requestFocus()
en onClickListener no funcionó. ¿Puede alguien dar una solución exacta para este problema? Se aprecia el fragmento de código.
Prueba este en clase de actividad
getwindow().setsoftInputMode(winowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Esta es la evitación de la tecla suave
por favor use esto en manifiesto:
android:configChanges="orientation|keyboardHidden"
android:windowSoftInputMode="stateHidden"
No necesita agregar ningún método en el menú. solo agregue este código ... Se ocultará automáticamente cuando haga clic en el botón para obtener valor.
Desea ocultar el teclado utilice este código en su método de escucha de clic.
InputMethodManager imm = (InputMethodManager) getSystemService (Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFomWindow (edittext.getWindowToken (), 0);
Espero que este código funcione bien.
Prueba esto:
InputMethodManager imm = (InputMethodManager)getSystemService( Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFomWindow( edittext.getWindowToken(), 0);
¿Qué tal si editas TextText.setOnTouchListener y cuando creas el nuevo OnTouchListener no haces nada como esto?
editText.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});