Emoji2
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alphaversion |
---|---|---|---|---|
4. Juni 2025 | 1.5.0 | - | - | 1.6.0-alpha01 |
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von Emoji2 hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie der Datei build.gradle
für Ihre App oder Ihr Modul die Abhängigkeiten für die erforderlichen Artefakte hinzu:
Cool
dependencies { def emoji2_version = "1.5.0" implementation "androidx.emoji2:emoji2:$emoji2_version" implementation "androidx.emoji2:emoji2-views:$emoji2_version" implementation "androidx.emoji2:emoji2-views-helper:$emoji2_version" }
Kotlin
dependencies { val emoji2_version = "1.5.0" implementation("androidx.emoji2:emoji2:$emoji2_version") implementation("androidx.emoji2:emoji2-views:$emoji2_version") implementation("androidx.emoji2:emoji2-views-helper:$emoji2_version") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Bitte teilen Sie uns mit, wenn Sie neue Probleme feststellen oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Emoji2 Emojipicker Version 1.0
Version 1.5.0
4. September 2024
androidx.emoji2:emoji2-*:1.5.0
wird veröffentlicht. Version 1.5.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.4.0
- Unterstützung von Emoji 15.1 und bidirektionaler Emoji-Auswahl Mit einem einfachen Klick auf den bidirektionalen Schalter können Nutzer zwischen nach links und nach rechts gerichteten Emojis wechseln.
- Unterstützung für die Auswahl von Emojis mit unterschiedlichen Hauttönen Wenn Sie lange auf Emojis von Paaren drücken, wird eine Emoji-Auswahl für mehrere Personen angezeigt. Wenn der Nutzer auf die linke Hälfte eines Emojis tippt, wird die Emoji-Vorschau unten rechts entsprechend aktualisiert. Wenn der Nutzer beide Hälften eines Emojis auswählt, wird in der Emoji-Vorschau unten rechts das vollständige Emoji angezeigt, das der Nutzer dann eingeben kann.
Version 1.0.0-alpha03
8. März 2023
androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03
wird veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.
Fehlerkorrekturen
- Unnötige Ressourcen wurden entfernt und die Bibliotheksgröße um etwa 0,3 MB reduziert.
Version 1.0.0-alpha02
22. Februar 2023
androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02
wird veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
API-Änderungen
- Neue API für Java-Clients hinzugefügt, um aktuelle Emojis bereitzustellen. (I39d10)
Fehlerkorrekturen
- Emoji-Ressourcen für die Unterstützung von Emoji 15.0 (Ib4eb3) aktualisieren
- Wenn Sie ein Emoji aus dem Pop-up-Fenster auswählen, werden alle identischen Emojis durch das neu ausgewählte Emoji ersetzt (außer der Zeile mit den zuletzt verwendeten Emojis). Das Emoji soll auch beim Klicken angesagt werden. (I892c6)
- Warten Sie, bis emojicompat geladen wurde, bevor Sie
EmojiPickerView
anzeigen. (I29e03)
Version 1.0.0-alpha01
25. Januar 2023
androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01
wird veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.
Neue Funktionen
- Einführung einer Emoji-Auswahl, die eine einheitliche Nutzererfahrung mit den neuesten Emojis auf OEM-Geräten und in Apps mit Android-Betriebssystem bietet. Sie bietet die neueste Emoji-Unterstützung und Emoji-Auswahloberfläche, einschließlich Hauttonvarianten und Emoji-Kompatibilitätsunterstützung.
API-Änderungen
- Einführung der
EmojiPickerView
-Klasse, die aktuelle Emojis in einer vertikal scrollbaren Ansicht mit einer anklickbaren horizontalen Überschrift bietet. - Die Rasterspalten der Emoji-Auswahl können über das XML-Attribut
emojiGridColumns
oder die FunktionsetEmojiGridColumns()
festgelegt werden. - Die Zeilen des Emoji-Auswahl-Rasters können über das XML-Attribut
emojiGridRows
oder die FunktionsetEmojiGridRows()
festgelegt werden. - Der Listener für das ausgewählte Emoji kann über
setOnEmojiPickedListener()
festgelegt werden. Er wird benachrichtigt, wenn der Nutzer auf ein Emoji geklickt hat. - Der aktuelle Emoji-Anbieter kann mit
setRecentEmojiProvider()
angegeben werden. Diese Funktion ist optional. Wenn der Anbieter der letzten Emojis nicht festgelegt ist, wird von der Bibliothek ein Standardanbieter für die letzten Emojis verwendet. Das Standardverhalten ist so definiert: 1) Alle ausgewählten Emojis werden in den gemeinsamen Einstellungen auf App-Ebene gespeichert. 2) In der Auswahl werden maximal drei Zeilen mit ausgewählten Emojis angezeigt, die dedupliziert und in umgekehrter chronologischer Reihenfolge angeordnet sind. - Die Klasse
EmojiViewItem
wurde eingeführt, die das angezeigte Emoji und seine Emoji-Varianten enthält. - Einführung der
RecentEmojiProvider
-Oberfläche, die implementiert werden kann, um eine Liste der zuletzt verwendeten Emojis anzuzeigen. DerrecentEmojiProvider
ist für die Bereitstellung von Emojis in der Kategorie „Kürzlich verwendet“ verantwortlich.
Version 1.6
Version 1.6.0-alpha01
4. Juni 2025
androidx.emoji2:emoji2-*:1.6.0-alpha01
wird veröffentlicht. Version 1.6.0-alpha01 enthält diese Commits.
Neue Funktionen
- Datenaktualisierungen für Emoji 16.0 (Ifc878)
- Dem Inhaltstext das Suffix „emoji“ hinzufügen
Fehlerkorrekturen
- Diese Bibliothek verwendet jetzt JSpecify-Null-Anmerkungen, die sich auf den Typ beziehen. Kotlin-Entwickler sollten die folgenden Compilerargumente verwenden, um die korrekte Verwendung zu erzwingen:
-Xjspecify-annotations=strict
,-Xtype-enhancement-improvements-strict-mode
(Id07e7, b/326456246)
Version 1.5
Version 1.5.0
4. September 2024
androidx.emoji2:emoji2-*:1.5.0
wird veröffentlicht. Version 1.5.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.4.0
- Unterstützung von Emoji 15.1 und bidirektionaler Emoji-Auswahl Mit einem einfachen Klick auf den bidirektionalen Schalter können Nutzer zwischen nach links und nach rechts gerichteten Emojis wechseln.
- Unterstützung für die Auswahl von Emojis mit unterschiedlichen Hauttönen Wenn Sie lange auf Emojis von Paaren drücken, wird eine Emoji-Auswahl für mehrere Personen angezeigt. Wenn der Nutzer auf die linke Hälfte eines Emojis tippt, wird die Emoji-Vorschau unten rechts entsprechend aktualisiert. Wenn der Nutzer beide Hälften eines Emojis auswählt, wird in der Emoji-Vorschau unten rechts das vollständige Emoji angezeigt, das der Nutzer dann eingeben kann.
Version 1.5.0-rc01
21. August 2024
androidx.emoji2:emoji2-*:1.5.0-rc01
wird veröffentlicht. Version 1.5.0-rc01 enthält diese Commits.
Neue Funktionen
- Unterstützung von Emoji 15.1 und bidirektionaler Emoji-Auswahl Mit einem einfachen Klick auf den bidirektionalen Schalter können Nutzer zwischen nach links und nach rechts gerichteten Emojis wechseln.
- Unterstützung für die Auswahl von Emojis mit unterschiedlichen Hauttönen Wenn Sie lange auf Emojis von Paaren drücken, wird eine Emoji-Auswahl für mehrere Personen angezeigt. Wenn der Nutzer auf die linke Hälfte eines Emojis tippt, wird die Emoji-Vorschau unten rechts entsprechend aktualisiert. Wenn der Nutzer beide Hälften eines Emojis auswählt, wird in der Vorschau das gesamte Emoji angezeigt und der Nutzer kann es dann eingeben.
Fehlerkorrekturen
- Die manuelle Kennzeichnung des Zugriffs auf neue Plattform-APIs wurde entfernt, da dies bei Verwendung von R8 mit AGP 7.3 oder höher (z.B. R8 Version 3.3) und für alle Builds bei Verwendung von AGP 8.1 oder höher (z.B. D8 Version 8.1) automatisch über die API-Modellierung erfolgt. Kunden, die AGP nicht verwenden, wird empfohlen, auf D8 Version 8.1 oder höher zu aktualisieren. Weitere Details findest du in diesem Artikel. (If6b4c, b/345472586)
- Die Tab-Auswahl und der Indikator von
EmojiPickerView
werden erst nach einem Klick aktualisiert. (146b02, b/288261054) - Die Tab-Auswahl und der Indikator von
EmojiPickerView
funktionieren nicht. (5e1f14, b/273883688)
Version 1.5.0-beta01
10. Juli 2024
androidx.emoji2:emoji2-*:1.5.0-beta01
wird veröffentlicht. Version 1.5.0-beta01 enthält diese Commits.
Neue Funktionen
- Unterstützung von Emoji 15.1 und bidirektionaler Emoji-Auswahl
- Unterstützung für die Neugestaltung der Auswahl mehrerer Hauttöne.
Fehlerkorrekturen
- Die Tab-Auswahl und der Indikator von
EmojiPickerView
werden erst nach einem Klick aktualisiert. (146b02, b/288261054) - Die Tab-Auswahl und der Indikator von
EmojiPickerView
funktionieren nicht. (5e1f14, b/273883688)
Version 1.5.0-alpha01
13. Dezember 2023
androidx.emoji2:emoji2-*:1.5.0-alpha01
wird veröffentlicht. Version 1.5.0-alpha01 enthält diese Commits.
Neue Funktionen
emoji2-bundled
enthält eine aktualisierte Emoji-Schriftart, die Emoji 15.1 unterstützt.
API-Änderungen
- Fügen Sie Executors hinzu, um den Rückruf-Thread für
InitCallback
zu steuern. (I32b67) BundledEmojiCompatConfig
verwendet jetzt einen Executor, um Ladethreads zu steuern. (I00e81)
Version 1.4
Version 1.4.0
9. August 2023
androidx.emoji2:emoji2-*:1.4.0
wird veröffentlicht. Version 1.4.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.3.0
- Einführung der Emoji-Auswahlbibliothek. Weitere Informationen finden Sie in diesem Entwicklerdokument.
Version 1.4.0-rc01
26. Juli 2023
androidx.emoji2:emoji2-*:1.4.0-rc01
wird veröffentlicht. Version 1.4.0-rc01 enthält diese Commits.
API-Änderungen
- Einführung der
registerSource
-Liste (Iae92f) - Feedback des API-Rates:
TransitionManager.seekTo()
increateSeekController()
umbenannt. Bitte korrigieren Sie den vorherigen Kommentar zum Hinzufügen vonTransitionManager.seekTo()
zuTransitionManager.createSeekController()
. (Idbeb1) ExerciseRouteResult
wurde hinzugefügt, was nicht die Superklasse fürData
,NoData
undConsentRequiredStates
ist.ExerciseRoute
wurde als eigenständige Klasse hinzugefügt, die Standortdaten für die Route enthält. (I22eed)- Einführung von
PagerLayoutInfo
mit Informationen, die nach einem Messdurchgang in Pager erfasst wurden. Außerdem wurde PageInfo eingeführt, die Informationen zu einer einzelnen gemessenen Seite in Pager. (Iad003, b/283098900)
Fehlerkorrekturen
- Wir haben die Farben für
Button
,IconButton
undTextButton
gemäß dem Material3-Design aktualisiert. Die semantische Rolle fürButton
,IconButton
undTextButton
kann jetzt mitModifier.semantics
überschrieben werden. (Ib2495) - Die Tab-Auswahl und der Indikator von
EmojiPickerView
wurden um einen Klick aktualisiert. (I4db04) FileNotFoundException
für die Anzeige der Emoji-Auswahl (I353e4)WindowManager.BadTokenException
bei Verwendung vonEmojiPickerView
fangen (I0a144)
Version 1.4.0-beta05
7. Juni 2023
androidx.emoji2:emoji2-*:1.4.0-beta05
wird veröffentlicht. Version 1.4.0-beta05 enthält diese Commits.
Fehlerkorrekturen
- Ein Fehler wurde behoben, der in Version 1.3 eingeführt wurde und dazu führte, dass
MetricsAffectingSpans
wieRelativeSizeSpan
zweimal angewendet wurde. Einmal beim Textlayout und noch einmal inEmojiSpan.draw
. Das Ergebnis war ein falsch skaliertes Bild, das sichtbar wurde, wenn einer der Parameter für die Textgröße durch den Span geändert wurde. (b/283208650)
Version 1.4.0-beta04
24. Mai 2023
androidx.emoji2:emoji2-*:1.4.0-beta04
wird veröffentlicht. Version 1.4.0-beta04 enthält diese Commits.
In dieser Version wurde ein Fehler behoben, der seit Version 1.0 bestand. Bei Ansichten mit einem nicht primären Handler wurde beim Versuch, die Emoji-Abschnitte nach Abschluss des Schriftartenladens zu aktualisieren, eine Ausnahme ausgelöst. Es gibt keine Problemumgehung. Wenn Sie von diesem Fehler betroffen sind, führen Sie ein Upgrade auf diese Version oder eine neuere Version durch.
Fehlerkorrekturen
EmojiCompat
Bei Init-Callbacks wird jetzt der Handler aus jeder Ansicht verwendet. Dabei werden auch Ansichten berücksichtigt, die sich nicht im Hauptthread befinden. (Iccbcf)
Version 1.4.0-beta03
10. Mai 2023
androidx.emoji2:emoji2-*:1.4.0-beta03
wird veröffentlicht. Version 1.4.0-beta03 enthält diese Commits.
Fehlerkorrekturen
- Behebung eines Absturzes der verschachtelten Pop-up-Ansicht der Emoji-Auswahl. (0acc8e)
- Ausnahmen früh in der
EmojiCompat getEmojiStart/getEmojiEnd
auslösen (26177f)
Version 1.4.0-beta02
19. April 2023
androidx.emoji2:emoji2-*:1.4.0-beta02
wird veröffentlicht. Version 1.4.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Lint-Baseline-Dateien aktualisieren (Iaa212)
Version 1.4.0-beta01
5. April 2023
androidx.emoji2:emoji2-*:1.4.0-beta01
wird veröffentlicht. Version 1.4.0-beta01 enthält diese Commits.
Neue Funktionen
androidx.emoji2:emoji2-emojipicker
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 verschiedener OEMs ihren Nutzern eine inklusive und einheitliche Emoji-Oberfläche bieten, ohne dass die Entwickler ihre eigene Emoji-Auswahl von Grund auf erstellen und verwalten müssen.
Aktuelle Emojis
Jedes Jahr werden neue Emojis veröffentlicht, die wir dann nach und nach in die Emoji-Auswahl aufnehmen. Um die Abwärtskompatibilität zu gewährleisten, führen wir intern eine genaue Prüfung der Emoji-Darstellbarkeit durch, um Tofu zu vermeiden. So ist die Bibliothek mit mehreren Android-Versionen und -Geräten kompatibel.
Fixierte Varianten
Wenn Sie lange auf ein Emoji drücken, 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 den häufigsten Anwendungsfall abdeckt:
- Alle ausgewählten Emojis werden in den gemeinsamen Einstellungen auf App-Ebene gespeichert.
- Die Auswahl zeigt maximal drei Zeilen ausgewählter Emojis in umgekehrter chronologischer Reihenfolge an. Dabei werden doppelte Einträge entfernt.
Wenn dieses Standardverhalten ausreicht, müssen Sie die Methode setRecentEmojiProvider()
nicht festlegen.
Mit EmojiCompat arbeiten
Wenn die App eine EmojiCompat
-Instanz hat, wird sie in der Emoji-Auswahl verwendet, um möglichst viele Emojis zu rendern. Wenn EmojiCompat
deaktiviert ist, funktioniert die Emoji-Auswahl weiterhin.
Bibliothek verwenden
Um die Bibliothek zu verwenden, müssen App-Entwickler
Importieren Sie
androidx.emoji2:emojipicker:$version
inbuild.gradle
.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Maximieren Sie die Ansicht der Emoji-Auswahl und legen Sie optional
emojiGridRows
undemojiGridColumns
entsprechend der gewünschten Größe der einzelnen Emoji-Zellen fest.- Sie können sie auch nicht festlegen. Die Standardeinstellung ist 9
emojiGridColumns
. Zeilen werden anhand der Höhe der übergeordneten Ansicht undemojiGridColumns
berechnet. - Sie können
emojiGridRows
als Float festlegen, um anzugeben, dass es weitere Emojis gibt, wenn man in der XML-Datei nach unten scrollt.
<androidx.emoji2.emojipicker.EmojiPickerView android:id="@+id/emoji_picker" android:layout_width="match_parent" android:layout_height="match_parent" app:emojiGridColumns="9" />
- Sie können sie auch nicht festlegen. Die Standardeinstellung ist 9
im Code
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)
Wenn Sie die ausgewählten Emojis einem EditText-Element anhängen möchten, verwenden Sie
setOnEmojiPickedListener()
.emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }
Optional: Legen Sie
RecentEmojiProvider
fest. Eine Beispielimplementierung finden Sie in der Beispielanwendung.Sie können die Stile optional anpassen. Erstellen Sie einen eigenen Stil, um gängige Designattributwerte zu überschreiben, und wenden Sie den Stil auf die
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" />
Eine Beispielimplementierung finden Sie in der Beispielanwendung.
Eine vollständige API-Oberfläche finden Sie hier.
Beispiel-App
Diese Beispielanwendung veranschaulicht grundlegende Anwendungsfälle sowie die folgenden zusätzlichen Szenarien:
- Das Layout der Ansicht wurde neu erstellt, da
emojiGridRows
undemojiGridColumns
zurückgesetzt wurden. - Der aktuelle Emoji-Anbieter wird überschrieben, um nach Häufigkeit zu sortieren.
- Stilanpassung
API-Änderungen
Die Emoji-Auswahl-Bibliothek wurde um die folgenden neuen APIs erweitert:
- Die
EmojiPickerView
-Klasse, die aktuelle Emojis in einer vertikal scrollbaren Ansicht mit einer anklickbaren horizontalen Überschrift bietet. - Die Möglichkeit, die Anzahl der Spalten und Zeilen im Emoji-Auswahl-Raster über die XML-Attribute
emojiGridColumns
undemojiGridRows
oder die MethodensetEmojiGridColumns()
undsetEmojiGridRows()
festzulegen. - Es ist möglich, über die Methode
setOnEmojiPickedListener()
einen Listener für die Auswahl von Emojis festzulegen. Der Listener wird benachrichtigt, wenn der Nutzer auf ein Emoji klickt. - Die Möglichkeit, über die Methode
setRecentEmojiProvider()
einen aktuellen Emoji-Anbieter anzugeben. Diese Funktion ist optional. Wenn der Anbieter der letzten Emojis nicht festgelegt ist, wird von der Bibliothek ein Standardanbieter für die letzten Emojis verwendet. Das Standardverhalten ist so definiert:- Alle ausgewählten Emojis werden in den gemeinsamen Einstellungen auf App-Ebene gespeichert.
- In der Auswahl werden maximal drei Zeilen mit ausgewählten Emojis in umgekehrter chronologischer Reihenfolge angezeigt. Dabei werden doppelte Emojis entfernt.
- Die Klasse
EmojiViewItem
, die das angezeigte Emoji und seine Emoji-Varianten enthält. - Die
RecentEmojiProvider
-Oberfläche, die implementiert werden kann, um eine Liste der zuletzt verwendeten Emojis anzuzeigen. DerrecentEmojiProvider
ist für die Bereitstellung von Emojis in der Kategorie „Kürzlich verwendet“ verantwortlich. - Die
RecentEmojiAsyncProvider
-Oberfläche, die implementiert werden kann, um eine Liste der zuletzt verwendeten Emojis anzuzeigen. DerRecentEmojiAsyncProvider
ist für die Bereitstellung von Emojis in der Kategorie „Kürzlich verwendet“ verantwortlich. Diese Schnittstelle entsprichtRecentEmojiProvider
, mit der Clients diegetRecentEmojiListAsync()
-Methode überschreiben können, um aktuelle Emojis bereitzustellen. - Die Klasse
RecentEmojiProviderAdapter
, die ein Adapter für dieRecentEmojiAsyncProvider
ist undRecentEmojiProvider
implementiert.
Version 1.4.0-alpha01
22. März 2023
androidx.emoji2:emoji2-*:1.4.0-alpha01
wird veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.
Fehlerkorrekturen
- Beheben Sie Fehler, deaktivieren Sie fehlerhafte Tests und führen Sie Bereinigungen durch.
Version 1.3
Version 1.3.0
22. März 2023
androidx.emoji2:emoji2-*:1.3.0
wird veröffentlicht. Version 1.3.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.2.0
- Mit dieser Version können Sie in Compose Foundation
1.4.0
und höher die Emoji2-Integration aktivieren. - Außerdem können Sie damit
EmojiSpans
durch benutzerdefinierten Zeichencode ersetzen und Emoji-Ausschlüsse auf Android-Geräten unterstützen.
Version 1.3.0-rc01
8. März 2023
androidx.emoji2:emoji2-*:1.3.0-rc01
wird veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.
Neue Funktionen
- Diese Version unterstützt die Integration von emoji2 compose.
API-Änderungen
- Ersetzen Sie Spans durch benutzerdefinierten Zeichencode.
- Abfrage von Systemausschlüssen
Fehlerkorrekturen
- Außerdem wurde ein Fehler behoben, durch den Hintergrundbereiche hinter
EmojiSopans
nicht richtig angewendet wurden.
Version 1.3.0-beta03
23. Februar 2023
androidx.emoji2:emoji2-bundled:1.3.0-beta03
, androidx.emoji2:emoji2-views:1.3.0-beta03
und androidx.emoji2:emoji2-views-helper:1.3.0-beta03
sind freigegeben.
22. Februar 2023
androidx.emoji2:emoji2:1.3.0-beta03
wird veröffentlicht. Version 1.3.0-beta03 enthält diese Commits.
Neue Funktionen
- Keine Änderungen Diese Version dient der Vorbereitung auf die Compose-Integration.
Version 1.3.0-beta02
8. Februar 2023
androidx.emoji2:emoji2-*:1.3.0-beta02
wird veröffentlicht. Version 1.3.0-beta02 enthält diese Commits.
Neue Funktionen
- Diese Version dient der Stabilisierung zur Unterstützung der Compose-Integration.
Version 1.3.0-beta01
25. Januar 2023
androidx.emoji2:emoji2-*:1.3.0-beta01
wird veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.
Neue Funktionen
- Abfrage von Systemausschlüssen
- Ersetzen Sie die Spans durch benutzerdefinierten Zeichencode.
- Außerdem wurde ein Fehler behoben, durch den Hintergrundbereiche hinter
EmojiSopans
nicht richtig angewendet wurden. - In dieser Version werden APIs hinzugefügt, die für die Unterstützung von
EmojiCompat
in Compose erforderlich sind. In einer zukünftigen Version wird die Unterstützung für Emojis beim Verfassen von Nachrichten eingeführt.
Version 1.3.0-alpha01
11. Januar 2023
androidx.emoji2:emoji2-*:1.3.0-alpha01
wird veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.
Neue APIs für Interaktionen auf niedriger Ebene
- Systemausschlüsse abfragen
- Spans durch benutzerdefinierten Zeichencode ersetzen
- Außerdem wurde ein Fehler behoben, durch den Hintergrundbereiche hinter
EmojiSopans
nicht richtig angewendet wurden. - In dieser Version werden APIs hinzugefügt, die für die Unterstützung von
EmojiCompat
in Compose erforderlich sind. In einer zukünftigen Version wird die Unterstützung für Emojis beim Verfassen von Nachrichten eingeführt.
API-Änderungen
TypefaceEmojiRasterizer
kann jetzt auch nach Systemausschlüssen abgefragt werden. (I5653e)- Neue API
EmojiCompat.SpanFactory
hinzugefügt, um das Standardverhalten vonEmojiSpan
durch benutzerdefinierten Code zum Zeichnen und Ändern der Größe zu ersetzen. (Ib69d9) EmojiCompat
wurde zum Verfassen hinzugefügt (I96f37, b/139326806)
Fehlerkorrekturen
- Emoji2 zeichnet jetzt Hintergründe aus
BackgroundSpan
korrekt. (Ide6a8, b/230525134) - AppCompat APIs für 1.5.0-beta01 fertigstellen (I2a43d, b/236866227)
Version 1.2
Version 1.2.0
10. August 2022
androidx.emoji2:emoji2-*:1.2.0
wird veröffentlicht. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.1.0
Dies ist ein Release mit Fehlerkorrekturen. Seit Version 1.1.0 wurden keine neuen Funktionen oder APIs hinzugefügt.
Für Apps, die PrecomputedText
oder TextView.setText(char[])
verwenden, sollte jedoch die Umstellung auf diese Version priorisiert werden.
Die folgenden Fehler wurden behoben:
Emoji2
fügtPrecomputedText
Emojis hinzu, indem das zuvor berechnete Textlayout verworfen wird. (I47d06, b/211231958)- Backport-Fehlerbehebung für Editor-Abstürze von Android P auf
EditText
, die für die Verwendung von Emoji 2 konfiguriert ist. (Ifd709, b/216891011) - Absturz behoben, der beim Laden der Schriftart durch emoji2 und der Verwendung von
TextView.setText(char[])
auftrat. (Id511e, b/206859724)
Version 1.2.0-rc01
27. Juli 2022
androidx.emoji2:emoji2-*:1.2.0-rc01
wird veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.
- Keine Änderungen seit der letzten Betaversion.
Version 1.2.0-beta01
13. Juli 2022
androidx.emoji2:emoji2-*:1.2.0-beta01
wird veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.
Neue Funktionen
- Keine Änderungen gegenüber der letzten Version. Diese Version dient der Unterstützung der AppCompat-Version.
Version 1.2.0-alpha04
20. April 2022
androidx.emoji2:emoji2-*:1.2.0-alpha04
wird veröffentlicht. Version 1.2.0-alpha04 enthält diese Commits.
Neue Funktionen
- In dieser Version gab es keine Änderungen.
Version 1.2.0-alpha03
6. April 2022
androidx.emoji2:emoji2-*:1.2.0-alpha03
wird veröffentlicht. Version 1.2.0-alpha03 enthält diese Commits.
Neue Funktionen
- Keine Änderungen gegenüber der letzten Version. Diese Version dient der Unterstützung der App-Kompatibilitätsversion.
Version 1.2.0-alpha02
23. März 2022
androidx.emoji2:emoji2-*:1.2.0-alpha02
wird veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.
Fehlerkorrekturen
- Emoji2 fügt
PrecomputedText
Emojis hinzu, indem das zuvor berechnete Textlayout verworfen wird. (I47d06, b/211231958) - Backport-Fehlerbehebung für Editor-Abstürze von Android P auf EditText, das für die Verwendung von emoji2 konfiguriert ist. (Ifd709, b/216891011)
- Absturz behoben, der beim Laden der Schriftart durch emoji2 und der Verwendung von
TextView.setText(char[])
auftrat. (Id511e, b/206859724)
Version 1.2.0-alpha01
23. Februar 2022
androidx.emoji2:emoji2-*:1.2.0-alpha01
wird veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.
Keine Änderungen seit Version 1.1.0.
1,1
Version 1.1.0
23. Februar 2022
androidx.emoji2:emoji2-*:1.1.0
wird veröffentlicht. Version 1.1.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.0.0
- emoji2-bundled enthält die Emoji 14-Schriftart
- Die neue
getEmojiMatch
API gibt genaue Informationen für Tastaturen zurück, um zu entscheiden, wie ein Emoji angezeigt wird, wenn ein Emoji-kompatibler Schriftschnitt hinter dem Systemschriftschnitt verwendet wird. - Fehlerkorrektur für
NumberKeyListener
, durch die Zeichen bei der Eingabe von Ziffern richtig gefiltert werden.
Version 1.1.0-rc01
9. Februar 2022
androidx.emoji2:emoji2-*:1.1.0-rc01
wird veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.
Neue Funktionen
Keine Änderungen gegenüber der Betaversion.
Neue Funktionen im Vergleich zu emoji2 1.0.0:
emoji2-bundled
enthält Emoji 14-Schriftart- Die neue
getEmojiMatch
API gibt genaue Informationen für Tastaturen zurück, um zu entscheiden, wie ein Emoji angezeigt wird, wenn ein Emoji-kompatibler Schriftschnitt hinter dem Systemschriftschnitt verwendet wird. - Fehlerbehebung für
NumberKeyListener
, durch die Zeichen bei der Eingabe von Ziffern richtig gefiltert werden
Version 1.1.0-beta01
26. Januar 2022
androidx.emoji2:emoji2-*:1.1.0-beta01
wird veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.
Fehlerkorrekturen
- androidx-emoji2-Betaversion 01 Keine Änderungen gegenüber Alpha01 (Ic61d9)
Version 1.1.0-alpha01
15. Dezember 2021
androidx.emoji2:emoji2-*:1.1.0-alpha01
wird veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.
Neue Funktionen
emoji2-bundled
enthält Emoji 14-Schriftart- Die neue
getEmojiMatch
API gibt genaue Informationen für Tastaturen zurück, um zu entscheiden, wie ein Emoji angezeigt wird, wenn ein Emoji-kompatibler Schriftschnitt hinter dem Systemschriftschnitt verwendet wird. - Fehlerbehebung für
NumberKeyListener
, durch die Zeichen bei der Eingabe von Ziffern richtig gefiltert werden
API-Änderungen
- Neue API
getEmojiMatch
hinzufügen, damit Tastaturen das Verhalten der Emoji-Übereinstimmung in emojicompat genauer abrufen können hasEmojiGlyph
wird eingestellt, da der boolesche Rückgabewert bei einem Test mit einer Schrift, die älter als die Emoji-Schrift der Plattform ist, ungenau ist. Ersetzen SiegetEmojiMatch
. (Ie693d)
Fehlerkorrekturen
- Emoji2 umschließt keine Instanzen von
NumberKeyListener
, sodass die Sprache überTextView
konfiguriert werden kann. - App-Kompatibilität umschließt keine Instanzen von
NumberKeyListener
, die ansetKeyListener
übergeben werden. So kannTextView
das Gebietsschema fürNumberKeyListeners
korrekt konfigurieren. (Ibf113, b/207119921)
1.0
Version 1.0.1
15. Dezember 2021
androidx.emoji2:emoji2-*:1.0.1
wird veröffentlicht. Version 1.0.1 enthält diese Commits.
Fehlerkorrekturen
Emoji2
umschließt keine Instanzen vonNumberKeyListener
, sodass die Sprache vonTextView
konfiguriert werden kann.- App-Kompatibilität umschließt keine Instanzen von
NumberKeyListener
, die ansetKeyListener
übergeben werden. So kannTextView
das Gebietsschema fürNumberKeyListeners
korrekt konfigurieren. (Ibf113, b/207119921)
Version 1.0.0
17. November 2021
androidx.emoji2:emoji2-*:1.0.0
wird veröffentlicht. Version 1.0.0 enthält diese Commits.
Wichtige Funktionen von 1.0.0
androidx.emoji2 ersetzt androidx.emoji mit zusätzlichen Funktionen:
- APK-Größe im Vergleich zu androidx.emoji reduzieren
- Automatische Konfiguration
- Als Abhängigkeit zu appcompat 1.4 hinzugefügt
Weitere Informationen zu androidx.emoji2 finden Sie unter Moderne Emojis unterstützen und in unserem Vortrag ALLE Emojis in Ihrer App anzeigen vom Android Dev Summit.
Version 1.0.0-rc01
27. Oktober 2021
androidx.emoji2:emoji2-*:1.0.0-rc01
wird veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.
- Keine Änderungen seit Beta 02.
Emoji2 Version 1.0.0-beta01
15. September 2021
androidx.emoji2:emoji2-*:1.0.0-beta01
wird veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.
API-Änderungen
setLoadingExecutor
wurde zuFontRequestEmojiCompatConfig
hinzugefügt und ersetzt die vorherige APIsetHandler
. Mit dieser API können AppsFontRequestEmojiCompatConfig
so konfigurieren, dass beliebige Hintergrundausführer verwendet werden.Diese Änderung ist eine funktionsgefährdende Änderung gegenüber
androidx.emoji:emoji
. Daher wirdsetHandler
als verworfene API ohne Funktion beibehalten, um die Migration zu erleichtern. (I6cd48)EmojiCompat setzt
EditorInfo.extras
unter Android 11 korrekt- Benutzerdefinierte Widgets, die eine IME verwenden, die keine EditText-Unterklasse ist, können
EmojiCompat.updateEditorInfo
aufrufen, um die IME darüber zu informieren, dass sie die Verarbeitung von EmojiCompat unterstützt. (I1ea9b)
- Benutzerdefinierte Widgets, die eine IME verwenden, die keine EditText-Unterklasse ist, können
Fehlerkorrekturen
DefaultEmojiCompatConfig
wurde korrigiert, damit der Emoji-Schriftartenanbieter in API 19 und 28 korrekt ermittelt wird. Damit wird ein Fehler behoben, der in emoji2 1.0.0-alpha01 eingeführt wurde. (Ib33d8, b/197906329)
Version 1.0.0-alpha03
30. Juni 2021
androidx.emoji2:emoji2-*:1.0.0-alpha03
wird veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.
Neue Funktionen
Diese Version enthält Fehlerkorrekturen und Stabilitätsverbesserungen.
- EmojiEditTextHelper ermöglicht es jetzt,
null
als KeyListener zu übergeben. So kann die Plattform Nullwerte auf Emojis anwenden, die EditText-Implementierungen unterstützen. - Bei Verwendung von EmojiCompatInitializer wird die anfängliche Startverzögerung verbessert, sodass sie nach der Wiederaufnahme der ersten Aktivität ausgelöst wird. So kann die App ohne Konflikte gestartet werden und der Schriftschnitt wird nicht für App-Starts geladen, bei denen nie eine Benutzeroberfläche angezeigt wird. Nach einer kurzen Verzögerung erstellt EmojiCompat einen Thread zum Laden der Emoji-Schriftart.
- Um die Verzögerung zu implementieren, wird eine neue Abhängigkeit von
androidx.emoji2:emoji2
aufandroidx.lifecycle:lifecycle-process
hinzugefügt. Bei Apps, die bereits einen Lebenszyklus enthalten (z. B. Apps mit AppCompat), hat dies nur geringe Auswirkungen auf die APK-Größe.
API-Änderungen
- Null-KeyListener in AppCompatEditText zulassen Dadurch wird die „non-null“-Anmerkung rückgängig gemacht, die AppCompatEditText in 1.4.0-alpha01 hinzugefügt wurde, und das vorherige Verhalten wird wiederhergestellt, wenn „null“ übergeben wird. (I21482, b/189559345)
Fehlerkorrekturen
- Ändern Sie EmojiCompatInitializer so, dass das Laden der Schriftart 500 ms nach dem ersten
Activity.onResume
verzögert wird. So kann eine AktivitätApplication.onCreate
undActivity.onCreate
ohne Konkurrenz ausführen und gleichzeitig dafür sorgen, dass die Emoji-Schrift kurz nach dem Start der App geladen wird. (I4bff7)
Version 1.0.0-alpha02
2. Juni 2021
androidx.emoji2:emoji2:1.0.0-alpha02
, androidx.emoji2:emoji2-views:1.0.0-alpha02
und androidx.emoji2:emoji2-views-helper:1.0.0-alpha02
sind freigegeben. Version 1.0.0-alpha02 enthält diese Commits.
API-Änderungen
- Paket in
emoji2-views-helper
inandroidx.emoji2.viewsintegration
umbenannt Dies ist eine bahnbrechende Änderung für AppCompat1.4.0-alpha01
. In Apps muss die AppCompat-Abhängigkeit aktualisiert werden, damit die neue emoji2-Version verwendet werden kann. (Ie8397)
Version 1.0.0-alpha01
18. Mai 2021
androidx.emoji2:emoji2:1.0.0-alpha01
, androidx.emoji2:emoji2-views:1.0.0-alpha01
und androidx.emoji2:emoji2-views-helper:1.0.0-alpha01
sind freigegeben. Version 1.0.0-alpha01 enthält diese Commits.
Funktionen in dieser ersten Version
Die Einbindung von emojicompat wird für alle Apps empfohlen, die moderne Emojis ab API 19 unterstützen sollen. Alle von Nutzern erstellten Inhalte in Ihrer App enthalten 🎉.
EmojiCompat wurde von den androidx.emoji
-Artefakten in die neue androidx.emoji2
verschoben, die jetzt in der Alpha 01-Version ist. Die neuen Artefakte ersetzen die vorherige Version.
emoji2
wird ab AppCompat 1.4.0-alpha01
als Abhängigkeit zu AppCompat hinzugefügt und ist standardmäßig für AppCompat-Ansichten aktiviert.
Das emoji2
-Artefakt führt eine neue automatische Konfiguration mit der androidx.startup
-Bibliothek ein. Du musst keinen 👨🏽💻 Code mehr schreiben, um 🐻❄️ anzuzeigen.
Änderungen in emoji2 gegenüber emoji
- Neue automatische Konfiguration
EmojiCompatInitializer
mitandroidx.startup
hinzugefügt. - Neue Standardkonfiguration hinzugefügt, bei der anhand des Dienststandorts ein Anbieter für herunterladbare Schriftarten in
DefaultEmojiCompatConfiguration
gefunden wird. - Klassen wurden aus dem Paket
androidx.emoji
in das Paketandroidx.emoji2
verschoben. - Teilen Sie
EmojiTextView
und die zugehörigen Ansichten in ein separates Artefaktemoji2-views
auf. Diese Option sollte nur verwendet werden, wenn Ihre App keine App-Kompatibilität verwendet. - Hilfsfunktionen zur Einbindung von Emoji-Kompatibilität in benutzerdefinierte Ansichten in ein separates Artefakt
emoji2-views-helper
wurden extrahiert. - Anmerkungen zur Null-Zulässigkeit wurden hinzugefügt.
- Helpers in
emoji2-views-helper
können jetzt auch verwendet werden, wennEmojiCompat
nicht initialisiert ist. Bisher wurde in diesem Fall eine Ausnahme ausgelöst.
Welche Abhängigkeit sollten Sie hinzufügen?
- Apps mit AppCompat sollten auf die AppCompat-Version AppCompat
1.4.0-alpha01
oder höher umgestellt werden. - Apps ohne AppCompat, die
TextView
/EditText
von der Plattform verwenden, solltenEmojiTextView
und zugehörige Klassen ausemoji2-views
verwenden.
Unterstützung in benutzerdefinierten Ansichten
- Apps mit AppCompat sollten
AppCompatTextView
,AppCompatButton
usw. erweitern, anstatt die PlattformTextView
usw. - Apps ohne AppCompat sollten eine
androidx.emoji2:emoji2-views-helper
-Abhängigkeit hinzufügen und Hilfsprogramme verwenden, um sie in benutzerdefinierteTextView
- oderEditText
-Unterklassen einzubinden.
Automatische Initialisierung konfigurieren
Apps können die automatische Initialisierung deaktivieren, indem sie Folgendes in das Manifest einfügen:
<provider android:name="androidx.startup.InitializationProvider" android:authorities="${applicationId}.androidx-startup" android:exported="false" tools:node="merge"> <meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer" tools:node="remove" /> </provider>
Dadurch wird die automatische Konfiguration deaktiviert und Sie können
EmojiCompat.init
eine benutzerdefinierte Konfiguration übergeben. Die Standardkonfiguration für das System kannDefaultEmojiCompatConfig.create(context)
zur weiteren Konfiguration abgerufen werden, bevor sie anEmojiCompat.init
übergeben wird.