2016-03-28 12 views
1

Ich arbeite an einer Android-Anwendung, in der ich alle Tastaturen Smileys in Emoji-Symbole konvertieren möchte.So extrahieren Sie Text Smileys aus einer Zeichenfolge in Android

Ich benutze bereits diese Bibliothek https://github.com/ankushsachdeva/emojicon, um Emoticons in meiner App zu zeigen.

Jetzt möchte ich die Smileys konvertieren, die Benutzer mit der Tastatur in Emoticons eingeben werden.

Beispiel: Wenn der Benutzer die Zeichenfolge Hello World :): P: 1. Dann muss ich zuerst diese Smiley-Symbole extrahieren und dafür brauche ich ein Regex-Muster, das alle diese Arten von Symbolen aus einer Zeichenfolge extrahieren wird. 2. Ich muss Unicode dieser Symbole finden und dann diese Symbole in Emoticons unter Verwendung der obigen Bibliothek konvertieren.

Bitte helfen Sie mir, damit ich hier fortfahren kann.

Antwort

1

nutzt diese lib ImageSpan s und SpannableStringBuilder wie hier: EmojiconTextView

public void setText(CharSequence text, BufferType type) { 
    SpannableStringBuilder builder = new SpannableStringBuilder(text); 
    EmojiconHandler.addEmojis(getContext(), builder, mEmojiconSize, mTextStart, mTextLength); 
    super.setText(builder, type); 
} 

Sie können immer von aktuellen SpannableStringBuilder Spannweiten entfernen und Klartext

wenn Sie festlegen möchten Spannweiten "in fly" erhalten verwenden Sie einfach TextWatcher für Ihre EditText, smth wie hier: EmojiconEditText

protected void onTextChanged(CharSequence text, int start, int lengthBefore, int lengthAfter) { 
    EmojiconHandler.addEmojis(getContext(), getText(), mEmojiconSize); 
} 

Diese Lib scheint die ganze Arbeit für Sie zu tun, verwenden Sie einfach View s von lib (Emojicon Präfix) statt üblichen, z.

<ankushsachdeva.emojicon.EmojiconTextView 
     android:id="@+id/emojicon" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     emojicon:emojiconSize="24dip" 
     android:gravity="center"/> 

statt EditText in XML-Layout-Dateien

+0

Das ist in Ordnung, ich habe bereits Emoji-Tastatur in meiner Anwendung mit dieser Bibliothek implementiert, aber ich mag in Emoticons auch einfachen Text-Smileys konvertieren. Ich brauche ein Regex-Muster, um die Text-Smileys aus einer Zeichenfolge zu extrahieren, kann mir bitte jemand hier helfen. Danke :) –

+0

Wie kann ich Symbole wie :) oder: P: d aus einer Zeichenfolge extrahieren. Ich brauche ein Muster, um alle diese Arten von Symbolen aus einer Zeichenfolge zu erkennen. –