Tengo una actividad sin widgets secundarios y el archivo xml correspondiente es,
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myLayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:focusable="true"
>
</LinearLayout>
y quiero abrir el teclado en pantalla mediante programación mientras se inicia la actividad. y lo que he intentado hasta ahora es,
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (inputMethodManager != null) {
inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
Dame alguna orientación.
android
android-softkeyboard
Vignesh
fuente
fuente
Respuestas:
He usado las siguientes líneas para mostrar el teclado virtual manualmente dentro del evento onclick, y el teclado está visible.
Pero todavía no puedo abrir esto mientras se abre la actividad, entonces, ¿hay alguna solución para esto?
fuente
En su archivo de manifiesto, intente agregar lo siguiente al
<activity>
que desea mostrar en el teclado cuando comience la actividad:android:windowSoftInputMode="stateVisible"
Esto debería hacer que el teclado se vuelva visible cuando comience la actividad.
Para más opciones, consulte la documentación .
fuente
Siga el siguiente código. Estoy seguro de que su problema se resolverá.
fuente
Esto es funciona
o
fuente
Todo lo que necesitaba era exponer el teclado, en un momento muy preciso. ¡Esto funcionó para mí! Gracias Benites.
Y en el preciso momento:
fuente
postDelayed( runnable, 500 /* msec */ );
He usado las siguientes líneas para mostrar el teclado virtual manualmente dentro del evento onclick.
fuente
Pon eso en el método onResume:
el ejecutable es necesario porque cuando el sistema operativo activa el método onResume, no puede estar seguro de que todas las vistas se dibujaron, por lo que el método de publicación llamado desde su diseño raíz lo hace esperar hasta que cada vista esté lista.
fuente
parece que esto está funcionando
parece que esto funciona mejor: en manifiesto:
Parece que el manifiesto funciona en Android 4.2.2 pero no en Android 4.0.3
fuente
en onCreate método de actividad o onActivityCreated de un fragmento
fuente
He utilizado así para mostrar el teclado en pantalla de forma programática y esto me funcionó para evitar el cambio de tamaño automático de la pantalla al iniciar el teclado.
En manifiesto:
En XXXActvity:
Supongo que esto les ahorrará tiempo a otros para buscar este problema.
fuente
Kotlin
Java
fuente
fuente
Lo usé como singleton como:
Úselo en su actividad como:
fuente
Esto funciona:
Y llamas a este método así:
fuente
InputMethodManager.SHOW_FORCED no es una buena opción. Si usa esta configuración, debe administrar el estado oculto del teclado. Mi sugerencia es así;
Además, puede centrarse en la vista (normalmente EditText) tomando los parámetros. Esto la convierte en una función más útil.
para obtener más información sobre InputMethodManager.SHOW_IMPLICIT y SHOW_FORCED; InputMethodManager
fuente
Este es el código fuente requerido:
Para obtener más información, acceda a este enlace. Eso me ayudó. https://github.com/Nikhillosalka/Keyboard/blob/master/README.md
fuente
Use el código anterior en onResume () para abrir el teclado virtual
fuente
Similar a la respuesta de @ShimonDoodkin, esto es lo que hice en un fragmento.
https://stackoverflow.com/a/29229865/2413303
Donde
ShowKeyboard
estaDespués de una entrada exitosa, también me aseguro de ocultar el teclado
fuente
fuente
Ya hay demasiadas respuestas, pero nada funcionó para mí aparte de esto.
Usé
showSoftInput
conSHOW_FORCED
Y mi actividad tiene
Espero que esto ayude a alguien
fuente
Publique este método en su actividad base y utilícelo en otras actividades como un encanto
fuente