2009-12-13 13 views
19

¿Hay alguna manera de crear un teclado virtual específico para aplicaciones en Android? Después de leer acerca de los documentos de InputMethodService y verificar las aplicaciones de teclado alternativas, creo que el teclado alternativo solo puede configurarse para un amplio uso del sistema (a través de Configuración -> Configuración regional y Texto).teclado suave específico para aplicaciones Android

Si la respuesta a la pregunta anterior es no, ¿existe al menos una forma de cargar un diccionario personalizado y anular el diccionario predeterminado del teclado del sistema (solo cuando mi aplicación está en uso)? Eso ayudará a dar sugerencias muy relevantes para el usuario cuando solo ha tocado un par de claves.

Respuesta

21

Si solo quiere una Vista que se ve y actúa como un teclado virtual, lo hice en my SmallKeyboard class. Solo necesita extender android.inputmethodservice.KeyboardView y decidir el diseño. Vea los métodos onKey y onText al final de ese archivo para la acción que se realiza cuando se presionan las teclas.

En lugar de mi clase interna de modelo de teclado, podría load it from XML si su conjunto de claves es bastante constante.

+0

Eso parece útil. Instalé SGTPuzzles para ver cómo funciona el teclado, pero no pude verlo en la pantalla. Solo obtengo los botones Rehacer/Deshacer. ¿Qué rompecabezas emergerá la instancia de SmallKeyboard? Gracias. – Jayesh

+0

Los botones deshacer/rehacer son en realidad una instancia de este tipo, pero se pueden ver instancias más interesantes en acertijos donde se requiere la entrada de números: relleno, Solo, Desigual (y próximamente, Keen and Towers). Además, Guess y Map tienen botones adicionales mínimos. –

+0

Gracias. Eso hace el trabajo, supongo. – Jayesh

9

La aplicación Android Nethack tiene un ejemplo de código fuente completo y claro sobre cómo crear un teclado personalizado para una aplicación, cómo mostrarlo en la pantalla y cómo definir varios diseños de teclado. Contiene casi todo lo que necesitas saber.

Es de lejos el mejor ejemplo que he visto.

http://code.google.com/p/nethack-android/

Cuestiones relacionadas