61 Stimmen

Implementierungen von Emoji (Emoticon) Ansichten/Tastaturlayouts

Ich versuche herauszufinden, wie die Emoji-Auswahlen in der Facebook-App und der Google Hangouts-App implementiert sind. Ich habe mir die SoftKeyboard Demo-App in den Android-API-Beispielen angesehen, aber die Anzeige dieser Emoji-Ansichten sieht nicht wie eine SoftKeyboard aus. Es sieht eher aus und verhält sich wie eine benutzerdefinierte Dialog-Ansicht. Hat jemand eine Idee, wie diese implementiert sind?

Facebook App

Facebook

Google Hangouts-App

Hangouts

Ist Unicode der beste Weg, um Emoticons zu senden, oder gibt es eine Alternative? Ich habe bemerkt, dass einige Unicode-Sequenzen like \u1F601 das entsprechende Emoticon nicht rendern und stattdessen diese Sequenz einfach als 1 angezeigt wird:

EditText messageInput = (EditText) findViewById(R.id.message_input);
messageInput.getText().append("\u1F601");

3voto

surya Punkte 599

Fall 1: Kundenspezifische Tastatur zuerst gestartet Die Tastatur wird basierend auf der Größe der Android-Tastatur erstellt, da die Höhe dieser Tastatur unbekannt ist. Zu Beginn wird die benutzerdefinierte Tastatur mit einer festen Höhe erstellt - in diesem Fall müssen Sie den Bearbeitungsbereich über der benutzerdefinierten Tastatur mit fester Höhe verschieben (der durch das Festlegen des Padding auf dem übergeordneten Layout, in dem der Bearbeitungsbereich platziert ist, verwendet werden kann (parentLayout->setPadding (0, 0, 0, Höhe) ->Wo Höhe ist Ihre Anfangstastaturhöhe). Hinweis: Vergessen Sie nicht, das Padding auf 0 zu setzen, wenn die benutzerdefinierte Tastatur zerstört oder ausgeblendet ist.

Fall 2: Android-Texttastatur zuerst gestartet

Die Tastatur ist bekannt Schreiben Sie in die Einstellungen, wenn die benutzerdefinierte Tastatur gestartet wird, verwenden Sie diese Höhe. Es ist nicht notwendig, Padding einzustellen, da dies ist, was die Android-Tastatur für Sie tut.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X