¿Cómo puedo actualizar la visualización del botón de acción del editor de inmediato?
Mi pregunta es: ¿Cómo puedo actualizar la visualización del botón de acción del teclado virtual sobre la marcha?
Otro post parece ser acerca de cambiar la acción del editor antes de que se muestre el teclado: Android: No se puede saber cómo usar setImeActionLabel . Me gustaría cambiar el botón de acción de teclado suave MIENTRAS se muestra.
- Cómo cambiar la altura de un teclado blando en tiempo de ejecución?
- Teclado personalizado sombra clave de teclado eliminar
- Android IME: muestra un cuadro de diálogo emergente personalizado (como el teclado Swype) que puede introducir texto en el TextView
- ¿Qué es el bloqueo de teclado en Android?
- Android KeyBoard.Key desactivar iconPreview de claves especiales?
He tenido éxito parcial: – Puedo cambiar la acción usando: editText.setImeOptions (EditorInfo.IME_ACTION_GO); – También puedo volver a dibujar el teclado utilizando: InputMethodManager.restartInput (editText); Hago esto usando TextWatcher.afterTextChanged. – Sin embargo, tengo un problema con esto. Si presiono una tecla, además de que el teclado muestra qué tecla ha sido presionada. Pero cuando llamo restartInput (…), esto también oculta la vista que muestra qué tecla ha sido presionada. Esto parece un comportamiento normal para mí, pero necesito una manera alrededor de él.
Extender EditText y sobreescribir onKeyUp no es una buena idea, consulte: https://groups.google.com/forum/?fromgroups#!topic/android-developers/RIxGfx5qOjM .
La clase KeyboardView tiene exactamente lo que necesito (invalidateKey), pero creo que sólo es accesible cuando se crea su propio método de entrada.
¿Alguien más tiene algunas ideas mejores?
- Las pestañas TabHost de Android roban el enfoque al utilizar el teclado de hardware
- Android Implementa dos fragmentos que tienen un comportamiento diferente cuando aparece el teclado
- ¿Cómo forzar el teclado a mostrar / ocultar?
- Cordova 3.4 - Detectar evento de teclado
- ¿Puedo tener "adjustResize" comportamiento de teclado suave y una barra de herramientas detrás de la barra de estado al mismo tiempo?
- EditText en PopupWindow que no muestra el teclado aunque setFocusable (true)
- Cambiar el método de entrada del dispositivo android android programatically
- SetSoftInputMode para un cuadro de diálogo para no ocultar EditText al escribir?
Intenta ser más específico cuando describes lo que quieres hacer … Necesitaba leer tu mensaje muchas veces para poder entender tu solicitud.
Así que lo que quieres hacer es cómo reaccionar a cualquier tecla presionada en el teclado y mostrar información sobre ella en la tecla de acción en el teclado. Si eso no es tu objetivo plz para explicar más …
En caso afirmativo, supongo que tendrás que usar el editor adicional (no visible) permite llamar a et0. Después de terminar de insertar una letra o cualquier patrón que defina a través de ontextchanged en su texto de edición, cambie el enfoque a et0 .. para que pueda cambiar la acciónKey .. y luego enviar el foco de nuevo a su editText .. para que pueda hilo o timertask, O cualquier forma de gestionar este cambio temporal de enfoque en y desde et0 .. aquí no es necesario reiniciar la entrada.
Espero que te ayude ..
¿Has intentado cambiar /system/usr/keychars/default.kcm sobre la marcha antes de invocar tu código de redibujo? (El nombre de archivo puede ser diferente dependiendo de la versión de Android).
Allí, se le permite establecer no sólo los caracteres de salida de la clave, sino también los valores de visualización de la clave. No lo he probado, también podría incurrir en un retraso, pero vale la pena intentarlo.
Esto debe ser muy útil para usted.
EditText in = new EditText(this); in.addTextChangedListener(new TextWatcher() { public void onTextChanged(CharSequence cs, int s, int b, int c) { Log.i("Key:", cs.toString()); } public void afterTextChanged(Editable editable) {} public void beforeTextChanged(CharSequence cs, int i, int j, int k) {} });