Emoji2
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpharelease |
---|---|---|---|---|
2. Juli 2025 | 1.5.0 | - | 1.6.0-beta01 | - |
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 benötigten Artefakte hinzu:
Groovy
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. Lassen Sie es uns wissen, wenn Sie neue Probleme entdecken 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 für ein vorhandenes Problem abstimmen, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung.
Emoji2-Emoji-Auswahl – 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. Durch einfaches Klicken auf den bidirektionalen Schalter können Nutzer zwischen Emojis, die nach links oder rechts ausgerichtet sind, wechseln.
- Unterstützung der Emoji-Auswahl mit mehreren Hauttönen. Wenn Sie lange auf Paar-Emojis drücken, wird eine Auswahl für Mehrpersonen-Emojis für den Nullstatus 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 gesamte Emoji angezeigt und der Nutzer kann es eingeben.
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 wurde 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
- Es wurde eine neue API für Java-Clients hinzugefügt, damit aktuelle Emojis bereitgestellt werden können. (I39d10)
Fehlerkorrekturen
- Emoji-Ressourcen aktualisieren, um Emoji 15.0 zu unterstützen (Ib4eb3)
- Wenn Sie ein Emoji aus dem Pop-up-Fenster auswählen, werden alle identischen Emojis (außer in der Zeile mit den zuletzt verwendeten Emojis) durch das neu ausgewählte Emoji ersetzt. Das Emoji wird auch angesagt, wenn darauf geklickt wird. (I892c6)
- Warte, bis „emojicompat“ geladen wurde, bevor du die
EmojiPickerView
anzeigst. (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
- Wir haben eine Emoji-Auswahl eingeführt, die für eine einheitliche Nutzererfahrung mit den neuesten Emojis auf OEM-Geräten und in Apps mit Android-Betriebssystem sorgt. Sie bietet die neueste Emoji-Unterstützung und eine Emoji-Auswahl-Benutzeroberfläche mit Hauttonvarianten und Unterstützung für Emoji-Kompatibilität.
API-Änderungen
- Die Klasse
EmojiPickerView
wurde eingeführt, die aktuelle Emojis in einer vertikal scrollbaren Ansicht mit einem anklickbaren horizontalen Header bietet. - Die Spalten des Emoji-Auswahlfelds können über das XML-Attribut
emojiGridColumns
oder die FunktionsetEmojiGridColumns()
festgelegt werden. - Die Zeilen des Emoji-Auswahlfelds können über das XML-Attribut
emojiGridRows
oder die FunktionsetEmojiGridRows()
festgelegt werden. - Der Listener für ausgewählte Emojis kann über
setOnEmojiPickedListener()
festgelegt werden. Der Listener wird benachrichtigt, wenn der Nutzer auf ein Emoji klickt. - Der zuletzt verwendete Emoji-Anbieter kann mit
setRecentEmojiProvider()
angegeben werden. Dies ist eine optionale Funktion. Wenn der Anbieter für zuletzt verwendete Emojis nicht festgelegt ist, wird von der Bibliothek ein Standardanbieter verwendet. Das Standardverhalten ist so definiert: 1) Alle ausgewählten Emojis werden auf App-Ebene in den gemeinsamen Einstellungen gespeichert. 2. In der Auswahl werden maximal drei Zeilen mit ausgewählten Emojis in umgekehrter chronologischer Reihenfolge angezeigt. - Die Klasse
EmojiViewItem
wurde eingeführt, die das angezeigte Emoji und seine Emoji-Varianten enthält. - Die
RecentEmojiProvider
-Schnittstelle wurde eingeführt, die implementiert werden kann, um eine Liste der zuletzt verwendeten Emojis bereitzustellen. DierecentEmojiProvider
ist für die Bereitstellung von Emojis in der Kategorie „Kürzlich verwendet“ verantwortlich.
Version 1.6
Version 1.6.0-beta01
2. Juli 2025
androidx.emoji2:emoji2-*:1.6.0-beta01
wird veröffentlicht. Version 1.6.0-beta01 enthält diese Commits.
Neue Funktionen
- Unterstützung von Emoji 16.0-Updates
- Fügen Sie der Inhaltsbeschreibung das Suffix „Emoji“ hinzu, damit wir in allen Emoji-Auswahl-Apps ein einheitliches Verhalten in Bezug auf die Barrierefreiheit haben.
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
- Aktualisierung der Daten für Emoji 16.0 (Ifc878)
- Suffix „Emoji“ zur Inhaltsbeschreibung hinzufügen
Fehlerkorrekturen
- In dieser Bibliothek werden jetzt JSpecify-Nullable-Annotationen verwendet, die typbezogen sind. Kotlin-Entwickler sollten die folgenden Compiler-Argumente 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. Durch einfaches Klicken auf den bidirektionalen Schalter können Nutzer zwischen Emojis, die nach links oder rechts ausgerichtet sind, wechseln.
- Unterstützung der Emoji-Auswahl mit mehreren Hauttönen. Wenn Sie lange auf Paar-Emojis drücken, wird eine Auswahl für Mehrpersonen-Emojis für den Nullstatus 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 gesamte Emoji angezeigt und der Nutzer kann es eingeben.
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. Durch einfaches Klicken auf den bidirektionalen Schalter können Nutzer zwischen der nach links und der nach rechts ausgerichteten Version von Emojis wechseln.
- Unterstützung der Emoji-Auswahl mit mehreren Hauttönen. Wenn Sie lange auf Paar-Emojis drücken, wird eine Auswahl für Mehrpersonen-Emojis für den Nullstatus 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 Beschreibung des Zugriffs auf neue Plattform-APIs wurde entfernt, da dies automatisch über die API-Modellierung erfolgt, wenn R8 mit AGP 7.3 oder höher (z.B. R8-Version 3.3) verwendet wird, und für alle Builds, wenn AGP 8.1 oder höher (z.B. D8-Version 8.1) verwendet wird. Clients, 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 die Aktualisierung der Indikatoren von
EmojiPickerView
erfolgen mit einer Verzögerung von einem Klick. (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 bidirektionale Emoji-Auswahl.
- Unterstützung der Neugestaltung der Auswahl mehrerer Hauttöne.
Fehlerkorrekturen
- Die Tab-Auswahl und die Aktualisierung der Indikatoren von
EmojiPickerView
erfolgen mit einer Verzögerung von einem Klick. (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 zur Unterstützung von Emoji 15.1.
API-Änderungen
- Fügen Sie Executors hinzu, um den Callback-Thread für
InitCallback
zu steuern. (I32b67) BundledEmojiCompatConfig
verwendet jetzt einen Executor, um das Laden von Threads 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
- Emoji-Auswahl eingeführt. Weitere Informationen finden Sie in der Entwicklerdokumentation.
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 Liste
registerSource
(Iae92f) - Feedback des API Council:
TransitionManager.seekTo()
wurde increateSeekController()
umbenannt. Bitte passe den vorherigen Kommentar zum Hinzufügen vonTransitionManager.seekTo()
zuTransitionManager.createSeekController()
an. (Idbeb1) ExerciseRouteResult
wurde hinzugefügt. Das ist nicht die Oberklasse fürData
,NoData
undConsentRequiredStates
.ExerciseRoute
wurde als eigenständige Klasse hinzugefügt, die Standortdaten für die Route enthält. (I22eed)PagerLayoutInfo
wurde mit Informationen eingeführt, die nach einem Measure-Pass in Pager erhoben 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äß Material3-Design aktualisiert. Die semantische Rolle fürButton
,IconButton
undTextButton
kann jetzt mitModifier.semantics
überschrieben werden. (Ib2495) - Die Tab-Auswahl und die Aktualisierung der Anzeige von
EmojiPickerView
waren um einen Klick verzögert. (I4db04) FileNotFoundException
beim Anzeigen der Emoji-Auswahl (I353e4)WindowManager.BadTokenException
bei Verwendung vonEmojiPickerView
abfangen (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 wurden. Einmal während des Textlayouts und noch einmal innerhalb vonEmojiSpan.draw
. Das Ergebnis war ein falsch dimensionierter Draw, der sichtbar war, wenn einer der Textgrößenparameter 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 wird ein Fehler behoben, der seit Version 1.0 vorhanden war. Bei Ansichten mit einem nicht primären Handler wurde eine Ausnahme ausgelöst, wenn versucht wurde, die Emoji-Spans nach dem Laden der Schriftart zu aktualisieren. Wenn Sie von diesem Fehler betroffen sind, gibt es keine Problemumgehung. Führen Sie ein Upgrade auf diese oder eine neuere Version durch.
Fehlerkorrekturen
EmojiCompat
-Initialisierungs-Callbacks verwenden jetzt den Handler aus jeder Ansicht und berücksichtigen Ansichten, die nicht im Hauptthread ausgeführt werden. (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
- Der Absturz der verschachtelten Pop-up-Ansicht der Emoji-Auswahl wurde behoben. (0acc8e)
- Geben Sie frühe Ausnahmen in
EmojiCompat getEmojiStart/getEmojiEnd
aus. (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-Baselines 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 Look und aktuellen Emojis, die sich einfach bedienen lässt. Nutzer können Emojis und ihre Varianten durchsuchen und auswählen oder aus ihren zuletzt verwendeten Emojis auswählen. Mit dieser Bibliothek können Apps verschiedener OEMs ihren Nutzern eine inklusive und einheitliche Emoji-Auswahl bieten, ohne dass die Entwickler ihre eigene Emoji-Auswahl von Grund auf neu erstellen und pflegen müssen.
Aktuelle Emojis
Jedes Jahr werden neue Emojis veröffentlicht. Wir werden sie 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-Renderbarkeit durch, um Tofu zu vermeiden. So wird sichergestellt, dass die Bibliothek mit mehreren Android-Versionen und Geräten kompatibel ist.
Fixierte Varianten
Wenn Sie ein Emoji lange gedrückt halten, wird ein Menü mit Varianten wie verschiedenen Geschlechtern oder Hauttönen angezeigt. Die ausgewählte Variante wird in der Emoji-Auswahl gespeichert und 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
Die RecentEmojiProvider
ist für die Bereitstellung von Emojis in der Kategorie „Kürzlich verwendet“ verantwortlich. Die Bibliothek hat einen standardmäßigen Anbieter für zuletzt verwendete Emojis, der den häufigsten Anwendungsfall abdeckt:
- Alle ausgewählten Emojis werden auf App-Ebene in den gemeinsamen Einstellungen gespeichert.
- In der Auswahl werden maximal drei Zeilen mit ausgewählten Emojis in umgekehrter chronologischer Reihenfolge angezeigt.
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 so viele Emojis wie möglich zu rendern. Wenn EmojiCompat
deaktiviert ist, funktioniert die Emoji-Auswahl weiterhin einwandfrei.
Bibliothek verwenden
Wenn ein App-Entwickler die Bibliothek verwenden möchte, sollte er
Importieren Sie
androidx.emoji2:emojipicker:$version
inbuild.gradle
.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Blähen Sie die Ansicht der Emoji-Auswahl auf und legen Sie optional
emojiGridRows
undemojiGridColumns
basierend auf der gewünschten Größe der einzelnen Emoji-Zellen fest.- Sie können sie auch nicht festlegen. Der Standardwert ist 9
emojiGridColumns
. Die Zeilen werden anhand der Höhe der übergeordneten Ansicht undemojiGridColumns
berechnet. - Sie können
emojiGridRows
als Gleitkommazahl festlegen, um anzugeben, dass beim Scrollen in XML weitere Emojis angezeigt werden.
<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. Der Standardwert 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 an ein EditText-Feld anhängen möchten, verwenden Sie
setOnEmojiPickedListener()
emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }
Optional können Sie
RecentEmojiProvider
festlegen. Eine Beispielimplementierung finden Sie in der Beispiel-App.Sie können die Stile optional anpassen. Erstellen Sie einen eigenen Stil, um allgemeine Designattribute zu überschreiben und den Stil auf
EmojiPickerView
anzuwenden. Wenn Sie beispielsweisecolorControlNormal
überschreiben, ändert sich die Farbe des Kategorie-Symbols.<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 Beispiel-App.
Eine vollständige API-Oberfläche finden Sie hier.
Beispiel-App
Diese Beispiel-App demonstriert grundlegende Anwendungsfälle sowie die folgenden zusätzlichen Szenarien:
- Das Layout der Ansicht wurde neu erstellt, da
emojiGridRows
undemojiGridColumns
zurückgesetzt wurden. - Der Anbieter für zuletzt verwendete Emojis wird überschrieben, um nach Häufigkeit zu sortieren.
- Stilanpassung:
API-Änderungen
Die Emoji-Auswahl-Bibliothek wurde mit den folgenden neuen APIs aktualisiert:
- Die
EmojiPickerView
-Klasse, die aktuelle Emojis in einer vertikal scrollbaren Ansicht mit einer anklickbaren horizontalen Kopfzeile bereitstellt. - Die Anzahl der Spalten und Zeilen im Emoji-Auswahlfeld kann über die XML-Attribute
emojiGridColumns
undemojiGridRows
oder die MethodensetEmojiGridColumns()
undsetEmojiGridRows()
festgelegt werden. - Die Möglichkeit, einen Listener für ausgewählte Emojis über die Methode
setOnEmojiPickedListener()
festzulegen. Der Listener wird benachrichtigt, wenn der Nutzer auf ein Emoji klickt. - Die Möglichkeit, über die Methode
setRecentEmojiProvider()
einen aktuellen Emoji-Anbieter anzugeben. Dies ist eine optionale Funktion. Wenn der Anbieter für zuletzt verwendete Emojis nicht festgelegt ist, wird von der Bibliothek ein Standardanbieter verwendet. Das Standardverhalten ist so definiert:- Alle ausgewählten Emojis werden pro App-Ebene in den gemeinsamen Einstellungen gespeichert.
- In der Auswahl werden maximal drei Zeilen mit ausgewählten Emojis in umgekehrter chronologischer Reihenfolge angezeigt.
- Die Klasse
EmojiViewItem
, die das angezeigte Emoji und seine Varianten enthält. - Die
RecentEmojiProvider
-Schnittstelle, die implementiert werden kann, um eine Liste der zuletzt verwendeten Emojis bereitzustellen. DierecentEmojiProvider
ist für die Bereitstellung von Emojis in der Kategorie „Kürzlich verwendet“ verantwortlich. - Die
RecentEmojiAsyncProvider
-Schnittstelle, die implementiert werden kann, um eine Liste der zuletzt verwendeten Emojis bereitzustellen. DieRecentEmojiAsyncProvider
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ürRecentEmojiAsyncProvider
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
- Tests korrigieren, Flake-Tests deaktivieren und Bereinigungen durchführen.
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 kann die Emoji2-Integration für Compose Foundation
1.4.0
und höher aktiviert werden. - Außerdem sind Funktionen zum Ersetzen von
EmojiSpans
durch benutzerdefinierten Zeichencode sowie Unterstützung für auf Android definierte Emoji-Ausschlüsse möglich.
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
- Spans für benutzerdefinierten Zeichencode ersetzen
- Systemausschlüsse abfragen
Fehlerkorrekturen
- Außerdem wurde ein Fehler behoben, bei dem Hintergrundspannen nicht korrekt hinter
EmojiSopans
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 veröffentlicht.
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 Mit dieser Version wird die Integration von Compose vorbereitet.
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
- In diesem Release wird die Unterstützung für die Compose-Integration stabilisiert.
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
- Systemausschlüsse abfragen
- Ersetzen der Spans für benutzerdefinierten Zeichencode.
- Außerdem wurde ein Fehler behoben, bei dem Hintergrundspannen nicht korrekt hinter
EmojiSopans
angewendet wurden. - In dieser Version werden APIs hinzugefügt, die für die Unterstützung von
EmojiCompat
in Compose erforderlich sind. Die Unterstützung für das Verfassen von Emojis wird in einer der nächsten Versionen erwartet.
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 für benutzerdefinierten Zeichencode ersetzen
- Außerdem wurde ein Fehler behoben, bei dem Hintergrundspannen nicht korrekt hinter
EmojiSopans
angewendet wurden. - In dieser Version werden APIs hinzugefügt, die für die Unterstützung von
EmojiCompat
in Compose erforderlich sind. Die Unterstützung für das Verfassen von Emojis wird in einer der nächsten Versionen erwartet.
API-Änderungen
- Die Möglichkeit, Systemausschlüsse abzufragen, wurde
TypefaceEmojiRasterizer
hinzugefügt. (I5653e) - Die neue API
EmojiCompat.SpanFactory
wurde hinzugefügt, um das Standardverhalten vonEmojiSpan
durch benutzerdefinierten Code für das Zeichnen und Anpassen der Größe zu ersetzen. (Ib69d9) - „Verfassen“ um
EmojiCompat
erweitert (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 Bugfix-Release. Seit Version 1.1.0 wurden keine neuen Funktionen oder APIs hinzugefügt.
Bei Apps, die PrecomputedText
oder TextView.setText(char[])
verwenden, sollte jedoch ein Upgrade auf diese Version priorisiert werden.
Folgende Fehler wurden behoben:
Emoji2
fügtPrecomputedText
Emojis hinzu, indem das zuvor berechnete Textlayout verworfen wird. (I47d06, b/211231958)- Backport des Editor-Absturz-Fix von Android P auf
EditText
, das für die Verwendung von Emoji2 konfiguriert ist. (Ifd709, b/216891011) - Ein Absturz wurde behoben, der auftrat, wenn emoji2 die Schriftart geladen hat und
TextView.setText(char[])
verwendet wurde. (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 zur 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 diesem Release gibt 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 zur Unterstützung der AppCompat-Version).
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
- Mit Emoji2 werden Emojis zu
PrecomputedText
hinzugefügt, indem das zuvor vorab berechnete Textlayout verworfen wird. (I47d06, b/211231958) - Backport des Editor-Absturz-Fix von Android P zu EditText, das für die Verwendung von Emoji2 konfiguriert ist. (Ifd709, b/216891011)
- Ein Absturz wurde behoben, der auftrat, wenn mit emoji2 eine Schriftart geladen wurde und
TextView.setText(char[])
verwendet wurde. (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 eine Emoji-kompatible Schriftart vorhanden ist, die hinter der Systemschriftart liegt. - Fehlerkorrektur für
NumberKeyListener
, durch die Zeichen bei der Zifferneingabe korrekt 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 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 eine Emoji-kompatible Schriftart vorhanden ist, die hinter der Systemschriftart liegt. - Fehlerkorrektur für
NumberKeyListener
, durch die Zeichen bei der Zifferneingabe korrekt 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 beta01-Release. 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 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 eine Emoji-kompatible Schriftart vorhanden ist, die hinter der Systemschriftart liegt. - Fehlerkorrektur für
NumberKeyListener
, durch die Zeichen bei der Zifferneingabe korrekt gefiltert werden
API-Änderungen
- Neue API
getEmojiMatch
hinzugefügt, damit Tastaturen das Verhalten von Emoji-Übereinstimmungen in „emojicompat“ genauer nachschlagen können. hasEmojiGlyph
wird eingestellt, da der boolesche Rückgabewert ungenau ist, wenn er für einen Test mit einer Schriftart verwendet wird, die älter als die Emoji-Schriftart der Plattform ist. Ersetzen Sie den Text durchgetEmojiMatch
. (Ie693d)
Fehlerkorrekturen
- Emoji2 umschließt keine Instanzen von
NumberKeyListener
, sodass das Gebietsschema vonTextView
konfiguriert werden kann. - AppCompat umschließt keine Instanzen von
NumberKeyListener
, die ansetKeyListener
übergeben werden. So kannTextView
das Gebietsschema fürNumberKeyListeners
richtig 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 das Gebietsschema vonTextView
konfiguriert werden kann.- AppCompat umschließt keine Instanzen von
NumberKeyListener
, die ansetKeyListener
übergeben werden. So kannTextView
das Gebietsschema fürNumberKeyListeners
richtig 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 Version 1.0.0
androidx.emoji2 ersetzt androidx.emoji und bietet zusätzliche Funktionen:
- Reduzierung der APK-Größe im Vergleich zu androidx.emoji
- Automatische Konfiguration
- Als Abhängigkeit zu appcompat 1.4 hinzugefügt
Weitere Informationen zu androidx.emoji2 finden Sie unter Unterstützung moderner Emojis und in unserem Android Dev Summit-Vortrag Displaying ALL the emojis in your app Android Dev.
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 Beta02.
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 bisherige APIsetHandler
. Mit dieser API können AppsFontRequestEmojiCompatConfig
so konfigurieren, dass ein beliebiger Hintergrund-Executor verwendet wird.Diese Änderung ist eine funktionsgefährdende Änderung von
androidx.emoji:emoji
. Daher wirdsetHandler
als inaktive, verworfene API beibehalten, um die Migration zu erleichtern. (I6cd48)EmojiCompat legt
EditorInfo.extras
unter Android 11 korrekt fest- Benutzerdefinierte Widgets, die IME verwenden und nicht von EditText abgeleitet sind, können
EmojiCompat.updateEditorInfo
aufrufen, um IME mitzuteilen, dass sie die EmojiCompat-Verarbeitung unterstützen. (I1ea9b)
- Benutzerdefinierte Widgets, die IME verwenden und nicht von EditText abgeleitet sind, können
Fehlerkorrekturen
- Das Problem mit
DefaultEmojiCompatConfig
wurde behoben, sodass der Anbieter von Emoji-Schriftarten in API 19 und 28 korrekt gesucht 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.
- Mit EmojiEditTextHelper kann jetzt
null
als KeyListener übergeben werden. Dadurch kann das Plattformverhalten, das Nullwerte für EditText-Implementierungen mit Emoji-Unterstützung zulässt, angewendet werden. - Bei Verwendung von EmojiCompatInitializer wurde die anfängliche Startverzögerung verbessert, sodass sie erst nach dem Fortsetzen der ersten Aktivität ausgelöst wird. So kann die App ohne Konflikte gestartet werden und die Schriftart wird nicht für App-Starts geladen, bei denen keine 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.lifecycle:lifecycle-process
vonandroidx.emoji2:emoji2
hinzugefügt. Bei Apps, die bereits Lifecycle-Komponenten 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-Annotation, die AppCompatEditText in Version 1.4.0-alpha01 hinzugefügt wurde, rückgängig gemacht und das vorherige Verhalten beim Übergeben von „null“ wiederhergestellt. (I21482, b/189559345)
Fehlerkorrekturen
- Ändern Sie EmojiCompatInitializer so, dass das Laden von Schriftarten bis 500 ms nach dem ersten
Activity.onResume
verzögert wird. So kann eine AktivitätApplication.onCreate
undActivity.onCreate
ohne Konflikte ausführen, während gleichzeitig dafür gesorgt wird, dass die Emoji-Schriftart 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 veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
API-Änderungen
- Das Paket in
emoji2-views-helper
wurde inandroidx.emoji2.viewsintegration
umbenannt. Dies ist eine wichtige Änderung für AppCompat1.4.0-alpha01
. Apps müssen dafür sorgen, dass die AppCompat-Abhängigkeit aktualisiert wird, um die neue Emoji2-Version zu verwenden. (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 veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.
Funktionen in dieser ersten Version
Die Integration von „emojicompat“ wird für alle Apps empfohlen, um moderne Emojis ab API19 zu unterstützen. Alle von Nutzern erstellten Inhalte in Ihrer App enthalten 🎉.
EmojiCompat wurde von den androidx.emoji
-Artefakten zu den neuen androidx.emoji2
-Artefakten verschoben, die jetzt in Alpha01 verfügbar sind. 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. Sie müssen keinen 👨🏽💻 Code mehr schreiben, um 🐻❄️ anzuzeigen.
Änderungen bei emoji2 im Vergleich zu emoji
- Neue automatische Konfiguration
EmojiCompatInitializer
mitandroidx.startup
hinzugefügt. - Es wurde eine neue Standardkonfiguration hinzugefügt, die den Dienststandort verwendet, um einen Anbieter herunterladbarer Schriftarten in
DefaultEmojiCompatConfiguration
zu finden. - Klassen wurden vom Paket
androidx.emoji
in das Paketandroidx.emoji2
verschoben. - Teilen Sie
EmojiTextView
und zugehörige Ansichten in ein separates Artefaktemoji2-views
auf. Diese Option sollte nur verwendet werden, wenn Ihre App nicht AppCompat verwendet. - Extrahierte Hilfsklassen für die Integration von „emojicompat“ in benutzerdefinierte Ansichten in ein separates Artefakt
emoji2-views-helper
. - Es wurden Anmerkungen zur Null-Zulässigkeit hinzugefügt.
- Helfer 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 aktualisiert werden. - Apps ohne AppCompat, die
TextView
/EditText
von der Plattform verwenden, solltenEmojiTextView
und zugehörige Klassen ausemoji2-views
verwenden.
Support in benutzerdefinierten Ansichten
- Apps mit AppCompat sollten
AppCompatTextView
,AppCompatButton
usw. anstelle vonTextView
usw. der Plattform erweitern. - Bei Apps ohne AppCompat sollte die
androidx.emoji2:emoji2-views-helper
-Abhängigkeit hinzugefügt und Helfer verwendet werden, um die Integration in benutzerdefinierteTextView
- oderEditText
-Unterklassen zu ermöglichen.
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 eine benutzerdefinierte Konfiguration an
EmojiCompat.init
übergeben. Die Standardkonfiguration für das System kannDefaultEmojiCompatConfig.create(context)
abgerufen werden, um sie weiter zu konfigurieren, bevor sie anEmojiCompat.init
übergeben wird.