En Android, ¿cómo hacemos que el teclado del dispositivo siempre esté visible en la aplicación? La parte superior muestra el contenido que la aplicación desea representar y la parte inferior muestra el teclado siempre.Android: ¿Cómo hacer que el teclado siempre esté visible?
Respuesta
Añadir androide: windowSoftInputMode = "stateAlwaysVisible" a su actividad en el archivo AndroidManifest.xml:
<activity android:name=".MainActivity"
android:label="@string/app_name"
android:windowSoftInputMode="stateAlwaysVisible" />
En mi aplicación de prueba esto muestra el teclado en el arranque de la aplicación aunque no es fijo, sino que hay puede descartarse presionando el botón Atrás.
Para asegurarse de que el teclado esté siempre visible, es posible que deba crear su propio teclado como parte de la interfaz de usuario de su aplicación. Aquí hay un tutorial para mostrarle cómo hacer esto con KeyboardView: http://www.fampennings.nl/maarten/android/09keyboard/index.htm
Debe tener un EditText
en su diseño y que necesite extender la clase base EditText
. luego, anula el método onKeyPreIme()
y devuelve verdadero. Ahora su teclado estará siempre visible y no puede ser descartado por la tecla Atrás.
Precaución: Debido a su método de onKeyPreIme()
vuelve true
no puede salir de su aplicación utilizando la clave de vuelta.
Ejemplo:
public class CustomEdit extends EditText {
public CustomEdit(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
Log.e("Log", "onKeyPreIme");
return true;
//return super.onKeyPreIme(keyCode, event);
}
}
he encontrado una manera que funcione para mí mantener el teclado en pantalla visible después de una edición en mi myEditText
campo de la clase EditText
. El truco consiste en reemplazar el método onEditorAction
para que vuelva true
myEditText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
return true;
}
});
o bien tienen onEditorAction
retorno true
sólo después de que el "Hecho" clave y haga clic (IME_ACTION_DONE
) de lo contrario false
myEditText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if(actionId==EditorInfo.IME_ACTION_DONE){
Log.i(LOG_TAG, "IME_ACTION_DONE");
return true;
}
return false;
}
});
(véase también this answer en el método onEditorAction
)
Agregando android:windowSoftInputMode="stateAlwaysVisible
al archivo Manifest ayudado hacer que se muestre el teclado suave al inicio de la actividad, pero no evitó que desapareciera nuevamente cada vez que se hacía clic en la tecla "Hecho" después de una edición.
- 1. Android - ¿Detecta el teclado visible?
- 2. ¿Cómo asegurarse de que la vista específica esté visible cuando aparece el teclado?
- 3. cómo hacer que la barra de desplazamiento gridview sea siempre visible en android 4.0.3
- 4. ¿Cómo puedo hacer que UITextView se desplace correctamente cuando el teclado está visible?
- 5. ¿Cómo puedo hacer que TreeView de ASP.NET no esté visible con JavaScript?
- 6. ¿Cómo hacer que RibbonApplicationMenuBar esté inactivo/activo?
- 7. cómo hacer que JDialog esté inactivo
- 8. ¿Cómo hacer que la función Desplazarse desde la fuente siempre esté habilitada?
- 9. Cómo "z-index" para hacer que un menú esté siempre en la parte superior del contenido
- 10. cómo hacer que el texto de UITextField esté seleccionado Prográficamente
- 11. Cómo hacer que el sitio web esté disponible sin conexión
- 12. línea después de que IFRAME no esté visible
- 13. Coincidir cadena con Regex siempre que no esté entre paréntesis
- 14. Mantenga la vista de Android en el área visible si aparece el teclado
- 15. ¿Cómo puedo hacer que el sangrado inteligente del editor de Matlab esté siempre activo mientras escribo el código?
- 16. Hacer que el divisor sea visible para el Panel dividido
- 17. cómo hacer que el programa esté en las ventanas de la barra de tareas-CE
- 18. Android: cómo hacer que el teclado entre en el botón decir "Buscar" y manejar su clic?
- 19. NumberPicker en AlertDialog siempre activa el teclado. ¿Cómo deshabilitar esto?
- 20. ¿Cómo siempre el desplazamiento visible de Tableview en Obj c?
- 21. Cómo hacer que un proyecto "repositorio/equipo" esté listo
- 22. ¿Cómo hacer que una aplicación GPO esté al tanto?
- 23. La cámara está equivocada a menos que el teclado esté abierto
- 24. Cómo hacer que un sitio web esté protegido con https
- 25. Android cerrar el teclado
- 26. Cómo abrir el teclado Android "? 123"
- 27. al hacer clic en editarTexto mostrar el teclado de Android
- 28. cómo configurar el modo de selección JTree "ctrl" para que esté siempre habilitado
- 29. ¿Cómo hacer que suene el teléfono Android?
- 30. cómo hacer que la etiqueta sea visible/invisible?
Intenté usar el código fuente de Android y puedo arrastrar el teclado pero no estoy seguro de qué parte debo modificar para desactivarlo. Estoy mirando la clase en LatinIME.java. Intenté agregar el inputView de ese código de google a WindowManager.addView. – LittleFunny
@Simon Ver mi actualización a mi respuesta. Probablemente quiera usar KeyboardView. – Intrications