J'ai suivi les exemples sur developer.android.com concernant les Méthodes de Saisie et joué avec les SoftKeyboard exemple d'application. Ensemble, ils donnent plus de suffisamment d'informations concernant la création de clavier simple.
Ce que je ne peux pas voir dans l'API, c'est la capacité à créer une variante de / plusieurs caractères par touche qui est disponible sur le Clavier standard (LatinIME Clavier).
L'image ci-dessus est le résultat d'une pression longue sur la touche "a". Lorsque vous appuyez sur une touche, il est possible de remplir un popup avec d'autres caractères.
Il est également possible de donner un popup astuce sur certaines touches qui invite l'utilisateur à appuyer sur et maintenez une touche pour obtenir le menu contextuel.
Jusqu'à présent, je n'ai pas trouvé une source unique d'informations sur la façon dont cela est réalisé, j'espère que quelqu'un pourra me donner une longueur d'avance, jusqu'alors, je vais suivre le code source du clavier intégré et voir si je peux la recréer.
Edit: Serait utile si developer.android.com s 'lien vers le LatinIME Clavier n'a pas de lien vers une photo d'un Mouton :) code source pour LatinIME.java.
Edit 2: Plus qu'une référence que tout autre chose, c'est la séquence, je crois, une habitude, appuyez de manière prolongée sur l'action va de travers pour afficher la fenêtre contextuelle du clavier dans KeyboardView.java:
onTouchEvent()
onModifiedTouchEvent()
mHandkler.handleMessage() with MSG_LONGPRESS
openPopupIfRequired()
onLongPress()
Edit 3:
Je n'ai toujours pas compris Comment faire ajouter une étiquette suggestions de clés? Une réponse suggère qu'il n'est pas intégré dans l'API, et en effet je n'ai pas trouvé la codeto ce faire. Toutefois, le Clavier sur 2.3.4 API (10), cette fonctionnalité étant mis en œuvre:
Voudrais bien comprendre comment IL fait, mais ce n'est pas n'importe où dans l' onDraw()
méthode que je peux voir - ce qui me fait croire qu'il a été écrit à l'extérieur de la KeyboardView élément. Je ne peux cependant trouver l' layout
le fichier utilisé pour afficher le KeyboardView élément sur le clavier intégré - Si quelqu'un sait où trouver ce peut-être qui me donnera l'idée dont j'ai besoin.
Edit 4: touche Déplacée Aperçu de la question ici, c'est légèrement hors sujet:
Comment avez-vous désactiver / personnaliser le clavier touche de prévisualisation de la fenêtre?