2010-12-16 111 views
1

Est-il possible de créer un InputType personnalisé pour le clavier Android?Créer un InputType personnalisé

Je souhaite que le clavier affiche d'abord le pavé numérique, puis, après qu'un utilisateur ait tapé un flottant ou un entier suivi d'un espace, je souhaite qu'il passe au clavier alpha par défaut.

J'ai essayé d'utiliser une instance de TextWatcher, mais cela semble buggué sur tout ce qui est supérieur à 2.0 (parfois il perdrait un caractère, cela ne se produit pas sur 1.6 ou moins).

Des idées?

Merci d'avoir lu.

+0

Avez-vous regardé l'exemple 'Soft Keyboard'? http://developer.android.com/resources/samples/SoftKeyboard/index.html – Squonk

+0

Je ne veux pas vraiment faire un tout nouveau type d'entrée, je veux juste changer la façon dont le clavier par défaut se comporte. Je ne suis pas sûr que ce soit possible cependant. Je veux juste qu'il commence sur le pavé numérique, puis passer au clavier alpha après avoir appuyé sur espace. – tonyc

Répondre

0

Oui, c'est possible.

Je ne l'ai pas fait moi-même, mais la preuve est dans les applications qui servent de types d'entrée. Recherchez des applications telles que Swype et 8pen; ils servent de types d'entrée différents, avec la construction de Swype sur un clavier similaire à la valeur par défaut et 8pen fournissant une interface utilisateur d'entrée différente.

+0

Je ne voulais pas créer une entrée entièrement nouvelle, je veux juste changer la façon dont le clavier par défaut se comporte. Merci, désolé pour la confusion. – tonyc

+0

C'est encore possible. Avec ces applications encore comme preuve, voici ce qu'ils ont fait. 1. Regardé l'entrée utilisée. 2. Remplacé par le leur. Avec vous, il semble que ce que vous devez faire est: 1. Regardez l'entrée utilisée (le clavier par défaut). 2. Voir comment c'est arrangé. 3. Modifiez les arrangements et le comportement afin que ce que vous voulez soit atteint. C'est toujours possible et probablement disponible pour vous. Vous devrez entrer dans le code source pour Android. Le premier endroit que je chercherais est developer.android.com. Bonne chance! – Danny