Pregunta

Estoy escribiendo una aplicación de aprendizaje de idiomas, actualmente solo alemán <-> ruso.

Hay varios EditTexts donde se supone que el usuario ingresa texto en uno u otro idioma. Como estos idiomas usan diferentes alfabetos, la aplicación utiliza su propio teclado suave al implementar InputMethodService y proporcionando diseño de teclado latino y cirílico. Es conocido por cada EditText Campo qué lenguaje se espera.

Lo que me gustaría es que, por ejemplo, cada vez que un EditText Field esperando que el ruso esté enfocado, se debe mostrar el diseño de teclado cirílico. Cuando se selecciona, el EditText Debe pasar algo constante al IME, que este último puede usar para decidir si se debe mostrar en modo latín o cirílico.

Idealmente, uno simplemente especificaría algo personalizado InputType Para el EditText Pero eso no parece ser posible, ¿verdad? ¿Cuál es el enfoque correcto aquí?

¿Fue útil?

Solución

Tu idea no suena mal. El código de IME verifica el InputType en un bloque de conmutación y el diseño predeterminado del teclado se muestra si el InputType no coincidí.

También puede proporcionar una lógica en onCreate() método de tu Activity para verificar qué método de entrada está activo y con esa información elige qué inputType su EditText debería tener.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top