Die Emoji-Auswahl ist eine UI-Lösung mit einem modernen Erscheinungsbild, aktuellen Emojis und einer einfachen Bedienung. Nutzer können Emojis und ihre Varianten durchsuchen und auswählen oder aus den kürzlich verwendeten Emojis auswählen.
Mit dieser Bibliothek können Apps aus verschiedenen Quellen ihren Nutzern eine inklusive und einheitliche Emoji-Auswahl bieten, ohne dass Entwickler ihre eigene Emoji-Auswahl von Grund auf erstellen und verwalten müssen.
Funktionen
Die Emoji-Auswahl bietet die folgenden Funktionen.
Aktuelles Emoji
Neue Emojis werden selektiv in die Emoji-Auswahl aufgenommen. Die Emoji-Auswahlbibliothek ist mit mehreren Android-Versionen und -Geräten kompatibel.
Fixierte Varianten
Wenn Sie ein Emoji lange gedrückt halten, wird ein Menü mit Varianten angezeigt, z. B. mit verschiedenen Geschlechtern oder Hauttönen. Die von Ihnen ausgewählte Variante wird in der Emoji-Auswahl gespeichert. Die zuletzt ausgewählte Variante wird im Hauptbereich verwendet.
Mit dieser Funktion können Nutzer ihre bevorzugten Emoji-Varianten mit nur einem Tippen senden.

Zuletzt verwendete Emojis

Der RecentEmojiProvider
ist für die Bereitstellung von Emojis in der Kategorie Kürzlich verwendet verantwortlich. Die Bibliothek hat einen Standardanbieter für aktuelle Emojis, der für den häufigsten Anwendungsfall geeignet ist:
- Alle ausgewählten Emojis werden für jede App in den gemeinsamen Einstellungen gespeichert.
- In der Auswahl werden maximal drei Zeilen ausgewählter Emojis in umgekehrter chronologischer Reihenfolge angezeigt. Dabei werden doppelte Emojis entfernt.
Wenn dieses Standardverhalten ausreicht, müssen Sie nicht
setRecentEmojiProvider()
Möglicherweise müssen Sie das Anbieterverhalten jedoch anpassen. Hier sind einige gängige Szenarien:
- Sie möchten für jedes Nutzerkonto unterschiedliche ausgewählte Emojis speichern.
- Sie möchten einen anderen Datenspeicher als gemeinsame Einstellungen verwenden.
- Sie möchten die letzten Emojis nach Häufigkeit sortiert anzeigen.
Sie können dann die RecentEmojiProvider
-Benutzeroberfläche implementieren und mit setRecentEmojiProvider()
festlegen.
Richtungsauswahl
Ab Emoji 15.1 unterstützt die Emoji-Auswahl bidirektionales Emoji. Nutzer können auf die bidirektionale Auswahl tippen, um zwischen den Emoji-Versionen nach links und rechts.
Abbildung 4: Bidirektionales Emoji mit Blick nach links.
Abbildung 5. Bidirektionales Emoji, das nach rechts zeigt.
Emoji-Auswahl für mehrere Personen
Nutzer können Emoji-Paare berühren und halten, um die Auswahl von Emojis für mehrere Personen zu öffnen.
Abbildung 6 Halten Sie ein Emoji-Paar gedrückt, um Emoji-Auswahlen für mehrere Personen aufzurufen.
Abbildung 7: Wählen Sie ein Emoji für die linke Hälfte aus.
Abbildung 8: Wählen Sie ein Emoji auf der rechten Hälfte aus.
Wenn der Nutzer die linke oder rechte Hälfte eines Emoji-Paares auswählt, wird in der Auswahl unten rechts eine Vorschau angezeigt (siehe Abbildungen 7 und 8). Nachdem Nutzer beide Hälften des Emoji-Paares ausgewählt haben, können sie die Vorschau auswählen, um das benutzerdefinierte Emoji-Paar zu erstellen.
Kompatibilität mit EmojiCompat
Wenn diese Option aktiviert ist, wird in der Emoji-Auswahl eine EmojiCompat
-Instanz zum Rendern als
möglichst viele Emojis. Für die Emoji-Auswahl ist EmojiCompat
jedoch nicht erforderlich.
Voraussetzungen
Ihre App muss auf Android 5.0 (API-Level 21) oder höher ausgerichtet sein.
Bibliothek verwenden
Importieren Sie
androidx.emoji2:emojipicker:$version
in die Dateibuild.gradle
Ihrer Anwendung.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Maximieren Sie die Ansicht der Emoji-Auswahl und legen Sie optional
emojiGridRows
undemojiGridColumns
fest.- Die Standardzahl von
emojiGridColumns
ist 9. - Die Zeilenanzahl wird basierend auf der Höhe der übergeordneten Ansicht und dem Wert der
emojiGridColumns
- Verwenden Sie einen Gleitkommawert für
emojiGridRows
, um anzuzeigen, dass der Nutzer scrolle nach unten, um weitere Emojis zu sehen.
<androidx.emoji2.emojipicker.EmojiPickerView android:id="@+id/emoji_picker" android:layout_width="match_parent" android:layout_height="match_parent" app:emojiGridColumns="9" />
val emojiPickerView = EmojiPickerView(context).apply { emojiGridColumns = 15 layoutParams = ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT ) } findViewById<ViewGroup>(R.id.emoji_picker_layout).addView(emojiPickerView)
- Die Standardzahl von
Verwenden Sie
setOnEmojiPickedListener()
, um das ausgewählte Emoji einer Ansicht hinzuzufügen. So hängen Sie beispielsweise an einEditText
an:emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }
Legen Sie optional
RecentEmojiProvider
fest. Ein Beispiel finden Sie in der Beispiel-App. Implementierung.Sie können die Stile optional anpassen. Eigenes Design erstellen, um allgemeines Design zu überschreiben und wenden Sie den Stil auf
EmojiPickerView
an. Wenn Sie beispielsweisecolorControlNormal
überschreiben, ändert sich die Farbe des Kategoriesymbols.<style name="CustomStyle" > <item name="colorControlNormal">#FFC0CB</item> </style> <androidx.emoji2.emojipicker.EmojiPickerView android:id="@+id/emoji_picker" android:layout_width="match_parent" android:layout_height="match_parent" android:theme="@style/CustomStyle" app:emojiGridColumns="9" />
Beispiel-App
Die Beispiel-App Emoji Picker veranschaulicht grundlegende Anwendungsfälle und folgende zusätzliche Szenarien:
- Neuberechnung des Layouts, wenn
emojiGridRows
oderemojiGridColumns
zurückgesetzt werden. - Ein überschriebener Anbieter für kürzlich verwendete Emojis, der nach Häufigkeit sortiert.
- Zusätzliche Stilanpassung.