¿Hay alguna manera de cambiar el valor de android: windowSoftInputMode de la clase java?
Quiero que mis pestañas tengan diferentes propiedades windowSoftInputMode
para cada pestaña. ¿Cómo acceder a esta propiedad desde la clase java cuando todo el manejo de su pestaña se realiza desde una sola actividad?
¿Hay alguna forma de acceder a esta propiedad del manifiesto desde el código java?
4 answers
Use lo siguiente para cambiar el modo Softinput de una actividad.
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
Use lo siguiente para cambiar el tipo softInput para un EditText.
mEditText.setImeOptions(EditorInfo.IME_ACTION_DONE);
Gracias a @Eliezer por la corrección
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-18 02:36:06
De acuerdo con comentario de Prasham , hice esto y salvó mi vida, gracias a él! Los modos EditText
y SoftWindowInput
son bastante defectuosos cuando tiene un diseño con ScrollView
y lo está llenando dinámicamente.
Ya que había pasado por este post pero había seguido leyendo otras respuestas/comentarios (como el de Prashan), decidí escribirlo en un nuevo post.
Debajo del código que usé con mi ScrollView
:
Activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:10:33
Mi objetivo es utilizar dos modos diferentes para las pestañas. Los modos son: SOFT_INPUT_ADJUST_RESIZE
y SOFT_INPUT_ADJUST_NOTHING
.
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
La línea de código anterior simplemente no funciona por sí misma. App siempre se comporta en un estado ADJUST_NOTHING
. Sin embargo, si windowSoftInputMode="adjustResize"
se inserta en la etiqueta <activity>
en AndroidManifest.archivo xml, ventana de la aplicación se redimensiona como predeterminado. Además, al llamar a la siguiente línea
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
Se comportará como se espera y no se redimensionará nada.
P.d. mejora de la respuesta
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-24 14:19:44
Puede utilizar el siguiente código mediante programación
android.view.inputmethod.InputMethodManager imm = (android.view.inputmethod.InputMethodManager) context
.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
Gracias Deepak
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-05-26 12:26:53