Implementierungen von Emoji (Emoticon) -Ansicht / Tastaturlayouts
Ich versuche herauszufinden, wie die emoji (Emoticons) Auswahl implementiert werden, die Facebook
app und die Google Hangouts
app. Ich schaute in die SoftKeyboard
Demo-app in der Android-API-Beispiele, aber die Anzeige der emoji-Ansichten sieht nicht aus wie ein SoftKeyboard
. Es sieht aus und verhält sich mehr wie eine benutzerdefinierte Dialog
anzeigen. Hat jemand eine Idee, wie diese umgesetzt werden?
Facebook App
Google Hangouts app
Außerdem ist Unicode der beste Weg, um zu senden, emoticons oder gibt es eine alternative? Ich bemerkte, dass einige Unicode
Sequenzen wie \u1F601
nicht Rendern das entsprechende emoticon und anstatt, dass die Sequenz zeigt nur, als 1
:
EditText messageInput = (EditText) findViewById(R.id.message_input);
messageInput.getText().append("\u1F601");
InformationsquelleAutor der Frage toobsco42 | 2013-05-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich eine sehr nützliche Emoticon-Tastatur. Diese Tastatur ist nicht die Verwendung von Unicode-Sequenzen, sondern nur die lokale Bild-assets. Ich denke, dass diese Art der Tastatur kann nur nützlich sein, innerhalb dieser app nicht mit anderen apps oder Betriebssysteme.
Anstatt also, ich bin Austausch der
ImageView
mit einem asset mit einemTextView
mit einer Unicode-Sequenz.Nachdem die cross-Referenzierung Unterstützt Unicode-Sequenzen sowie die Visual Unicode-Datenbank ich erkannte, dass
\u1F601
war ein 32-bit-Unicode-Darstellung, und die 16-bit-Darstellung festgelegt werden kann, wie :InformationsquelleAutor der Antwort toobsco42
Können Sie diese Bibliothek verwenden, basierend auf Hieu-Rocker-Bibliothek:
https://github.com/ankushsachdeva/emojicon
Dies ist, wie es aussieht
InformationsquelleAutor der Antwort ankush
Einer viewgroup sichtbar ist oder nicht kann auch relize,dass Es nicht neet dialog.
Jedes mal initialisieren Sie die emotion , die ich immer Nutzer ein Schlüssel-Wert wie [glücklich]=R. drawable.glücklich.
dies ist der text, der emotion, während Inhalte wie [glücklich]
InformationsquelleAutor der Antwort user1971705
Wenn Sie nicht wollen, um ins Detail, wie implementieren Sie die Emoji-Tastatur-Funktionalität, können Sie versuchen, diese Bibliotheken:
Rockerhieu /emojicon: implementiert die Emoji-Tastatur verwenden Fragmente (Sie müssen behandeln Sie das display mit einem DialogFragment. Es muss nicht die Unterstützung für das ändern, das layout und die Standard-man-Loch-Dunkles Thema;
Android Emoji-Tastatur: Basierend auf Rockerhieu Arbeit, die ich gebaut haben, eine andere lib, bietet die emoji-Tastatur näher an dem, was wir gesehen haben, in apps wie WhatsApp oder Telegramm. Können Sie behandeln das layout als LinearLayout und daher behandeln die Interaktion mit der virtuellen Tastatur selbst (wie unten beschrieben), oder Sie verwenden Telegramm-Panel oder WhatsApp-Panel, beide zur Verfügung gestellt von der Bibliothek, dass es für Sie tut.
PS1: Beide Bibliotheken sind Apache-Lizenz
Teil 01: das layout
Erstellen Sie ein GridView-Steuerelement für jedes Emoji-Seite ein, die Sie in Ihre Tastatur ein. Zum Beispiel:
Binden die erstellten Ansichten in Fragmenten:
}
Erstellen Sie ein neues layout mit einer view pager und eine Komponente zur Steuerung der view pager-übergang (in meine Fall habe ich einen Dritten Teil-Bibliothek namens
SmartTabLayout
wie unten gezeigt:PS2: den button oben vorhanden ist, um die backspace-Funktionalität
Teil 02: Controller-Schicht
Erstellen Sie einen adapter, um die Kontrolle der insertion der emojis in der GridView, zum Beispiel:
Klassen erstellen, werden Blasen jede eine der emoji-Seiten vorbei die emojis (nach der Unicode-Muster), um die GridView. also:
Erstellen Sie zwei Klassen: eine, die aus erstreckt sich ein EditText und ein anderes, das sich von TextView. Abfangen der Eingabe von jedem einzelnen von Ihnen zu identifizieren wenn das eingegebene element ist ein Emoji, wenn dem so ist, fügen Sie ein spannableum die Anzeige des symbols (vor allem benötigen, wenn Sie wollen, überschreiben Sie die Standard-system-emojis zu haben, etwas, das aussieht wie whats-app oder Telegramm, zum Beispiel);
Griff die Interaktion mit der soft-Tastatur. Es kann auf zwei Arten erfolgen:
PS3: ich hatte eine harte Zeit versucht, formatieren Sie den code und noch etwas von der XML-Code wird nicht angezeigt, wenn jemand es beheben kann, wäre ich dankbar
InformationsquelleAutor der Antwort Edgar Da Silva Fernandes
Können Sie diese Bibliothek verwenden, für Android: https://github.com/rockerhieu/emojicon
InformationsquelleAutor der Antwort Hieu Rocker
Fall 1 : Benutzerdefinierte Tastatur Gestartet, Erste
Die Tastatur ist Erstellt auf der Grundlage der Größe der Android-Tastatur , diese Tastatur ist in der Höhe, ist Unbekannt
Zunächst die Benutzerdefinierte Tastatur ist mit einer Festen Höhe - in diesem Fall müssen Sie, um den Bereich "Bearbeiten" über der Benutzerdefinierten Tastatur mit den "Feste Höhe" ( Welche verwendet werden können durch die Polsterung auf der Übergeordneten Layout, in dem Bearbeitungsbereich platziert ist ( parentLayout->setPadding ( 0 , 0 , 0 ,Höhe) ->Wo Höhe ist Ihre Erste Tastatur Höhe).
Hinweis : Nicht Vergessen, die Polsterung auf 0, wenn Sie die Benutzerdefinierte Tastatur Zerstört oder versteckt.
Fall 2 : Android Text-Tastatur Gestartet wird Zunächst
Die Tastatur ist Bekannt, Schreiben Sie in die Einstellungen, wenn Sie die Benutzerdefinierte Tastatur Gestartet wird, verwenden Sie diese Höhe.
Keine Notwendigkeit der Einstellung jeglicher Polsterung Ursache das ist, was die Android-Tastatur für Sie Tut.
InformationsquelleAutor der Antwort surya