Erstellen einer SoftKeyboard mit mehreren / alternativen Zeichen pro Taste

Habe ich folgte den Beispielen auf developer.android.com über Eingabemethoden und spielte mit den SoftKeyboard Beispielanwendung. Diese zusammen geben mehr als genug Informationen in Bezug auf die Schaffung von einfachen keyboard.

Was ich nicht sehen kann in der API ist die Möglichkeit zu schaffen, Alternative /mehrere Zeichen pro Taste auf der standard-Tastatur (LatinIME Tastatur).

Erstellen einer SoftKeyboard mit mehreren /alternativen Zeichen pro Taste

Bild oben ist das Ergebnis eines langen drücken auf die "a" - Taste. Wenn Sie lange drücken Sie eine Taste, es ist möglich, füllen Sie ein popup mit den alternativen Zeichen.

Erstellen einer SoftKeyboard mit mehreren /alternativen Zeichen pro Taste

Es ist auch möglich, ein Fenster mit einem Hinweis auf einige Tasten, die den Benutzer auffordern, drücken und halten Sie eine Taste, um das popup-Menü.

Bisher habe ich noch nicht gefunden, eine einzelne Quelle von Informationen darüber, wie dies erreicht wird, hoffentlich wird jemand in der Lage sein, um mir einen Vorsprung, bis dahin werde ich Folgen Sie den Quellcode der eingebauten Tastatur und sehen, ob ich kann reverse Engineering.

Edit: Würde helfen, wenn developer.android.com 's link, um die LatinIME Tastatur hat kein link zu einem Bild von einem Schafe 🙂 die Eigentliche source-code für LatinIME.java.

Edit 2: Mehr als Referenz als alles andere, das ist die Reihenfolge glaube ich eine übliche longPress Aktion durchläuft, um zu zeigen Sie die popup-Tastatur in KeyboardView.java:

onTouchEvent()
onModifiedTouchEvent()
mHandkler.handleMessage() with MSG_LONGPRESS
openPopupIfRequired() 
onLongPress()

Edit 3:

Habe ich noch nicht dachte, dieses heraus - Wie fügen Sie label-Vorschläge zu lösen? Eine Antwort es vermuten lässt, basiert nicht in der API und in der Tat, ich habe nicht einen gefunden, der codeto tun. Jedoch ist die Tastatur auf 2.3.4 (API 10) zeigt diese Funktionalität umgesetzt:

Erstellen einer SoftKeyboard mit mehreren /alternativen Zeichen pro Taste

Würde sehr gerne herausfinden, wie ES funktioniert, aber es ist nicht überall in der onDraw() Methode, die ich sehen kann - das lässt mich glauben, dass es geschrieben wird, die außerhalb des KeyboardView element. Ich kann Sie aber nicht finden layout - Datei verwendet, um die Anzeige der KeyboardView element auf der eingebauten Tastatur - Wenn jemand weiß, wo man diese vielleicht geben mir die Ahnung, die ich brauche.

Edit 4: Zog Taste Vorschau Frage hier, weil es etwas off-topic:

Wie sperrst du das SoftKeyboard-Taste, Vorschau-Fenster?

InformationsquelleAutor der Frage |

Schreibe einen Kommentar