2013-06-04 1 views
1

Mon but/problème: Je veux écrire une application Android qui permet à l'utilisateur de remplacer certains caractères par un autre dans le texte d'entrée. Cette application devrait fonctionner avec toutes les applications existantes. Lorsque j'écris un message texte, je veux avoir la possibilité de remplacer tous les signes diacritiques polonais par leurs équivalents (ó à o, ż à z, ¶ à s et ainsi de suite). Mes solutions:Comment remplacer les caractères entrés dans n'importe quelle application?

pauvres mais réalisables:

  • j'écrire du texte dans mon application puis copiez et collez le texte dans l'application de messages texte. Mais c'est très gênant à cause de cette copie. J'écris le texte déjà dans l'application de destination copiez tout le texte dans le presse-papiers et collez-le de nouveau. J'ai une application fonctionnant en arrière-plan pour gérer le presse-papiers qui modifie ce texte. Aussi très gênant.

mieux, mais je ne suis pas sûr si possible:

  • J'écris une sorte de procuration à InputMethodService et lorsque le texte d'écriture utilisateur à l'aide du clavier logiciel avec cette procuration, il se modifie de nouveau texte. Est-il possible d'écrire quelque chose comme ça?

Best:

  • ajouter une option pour objet TextView. Quand je tape longuement sur n'importe quel textview, je reçois un menu qui permet de sélectionner InputMethod (changer le clavier logiciel) et d'éditer le texte (copier, marquer, coller, etc.) Est-il possible d'ajouter "remplacer les caractères"?

Encore une fois je ne veux pas que cela fonctionne uniquement dans mon application, mais avec toutes les applications installées.

Répondre

1

Vous devez écrire votre propre clavier. Vérifiez les exemples pour l'exemple SoftKeyboard fourni avec le SDK. L'utilisateur peut alors activer votre clavier et pourra l'utiliser dans toutes les applications.

+0

Oui, mais l'écriture de mon propre clavier me semble être une grosse tâche. De plus, les utilisateurs ne changeront pas facilement leurs claviers actuels. Même moi j'utilise swype et je ne veux pas changer ça. – Wojtek

+0

Vous pouvez commencer avec le clavier Android OSP (https://android.googlesource.com/platform/packages/inputmethods/LatinIME/) et modifier à partir de là. Il inclut des fonctionnalités de type swype comme d'une version récente. – chrisrhoden

+0

Ok, c'est une façon de le faire, mais encore une fois: l'utilisateur devra changer son clavier actuel ce qui est inacceptable pour moi. J'ai besoin de ma solution pour être complètement indépendant du clavier logiciel. – Wojtek

Questions connexes