Créer des Clavier Android
Je voudrais écrire un clavier personnalisé qui devrait fonctionner sur tous les appareils fonctionnant sous Android 4.0 et plus. Alors d'abord j'ai cherché sur le net mais n'ai rien trouvé à ce sujet. Alors, comment puis-je créer une application qui remplace le clavier stock d'Android?
Ce que je voudrais savoir:
- Est-il un bon tuto là-bas? Avez-vous un exemple de code?
- Faire j'ai besoin de root pour faire cela?
- Quelle est la structure de derrière? (Est-ce juste une Activité régulière avec un Service de??)
- Est-il possible de lire l'Inputbox dans le clavier?
- Connexes: stackoverflow.com/questions/9577304/...
Vous devez vous connecter pour publier un commentaire.
Donc, j'ai fait cela pendant environ 2 ans, lorsque j'ai travaillé sur Swype. Vous n'avez pas besoin de racine, vous avez juste besoin de mettre en œuvre un InputMethodService. Vous pouvez obtenir le texte de la plupart des zones de texte, mais pas tous (pas de modifier tous les champs correctement mettre en œuvre leur moitié de l'Api. Surtout n'importe quoi avec un input type INPUT_TYPE_NULL ne fonctionne pas bien). Pour obtenir le texte que vous appelez inputConnection.getExtractedText
Attention, l'API est mauvais, et les applications sont hit and miss à travailler avec elle. Un clavier basique est facile, mais essayer de faire quelque chose de complexe et que vous allez passer beaucoup de temps. Beaucoup d'heures de travail est allé dans le grand claviers
La création d'une méthode d'entrée est couverte dans la documentation pour les développeurs Android, qui est sur l'Internet.
Il y a un exemple dans le
samples/
répertoire de votre installation du SDK, si vous avez téléchargé un exemple de code à partir du SDK Manager. RecherchezSoftKeyboard
.Pas.
Il est un
InputMethodService
.InputMethodService
des travaux d'édition de texte existant, désolé.Par la présente, un bon tutoriel:
http://code.tutsplus.com/tutorials/create-a-custom-keyboard-on-android--cms-22615
Non, racine n'est pas nécessaire pour ce faire.
Vous devez utiliser le
inputMethodService
, voir la la documentation.racine: pas de
oui c'est possible.
root: no
? Edit ton post, s'il vous plaît.