Emoji2
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpharelease |
---|---|---|---|---|
13. Dezember 2023 | 1.4.0 | - | - | 1.5.0-alpha01 |
Abhängigkeiten deklarieren
Zum Hinzufügen einer Abhängigkeit von Emoji2 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 Anwendung oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:
Groovig
dependencies { def emoji2_version = "1.4.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.4.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
Dein Feedback hilft uns, Jetpack zu verbessern. Lassen Sie 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 eine neue erstellen. Durch Klicken auf die Stern-Schaltfläche können Sie zu einem vorhandenen Problem abstimmen.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Emoji2 Emojipicker Version 1.0
Version 1.0.0-alpha03
8. März 2023
androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03
wird freigegeben. Version 1.0.0-alpha03 enthält diese Commits.
Fehlerkorrekturen
- Unnötige Ressourcen wurden entfernt und die Bibliotheksgröße wurde um etwa 0,3 Mio.reduziert.
Version 1.0.0-alpha02
22. Februar 2023
androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02
wird freigegeben. Version 1.0.0-alpha02 enthält diese Commits.
API-Änderungen
- Es wurde eine neue API für Java-Clients hinzugefügt, um aktuelle Emojis bereitstellen zu können. (I39d10)
Fehlerkorrekturen
- Emoji-Ressourcen aktualisieren, um Emoji 15.0 zu unterstützen (Ib4eb3)
- Wenn du im Pop-up-Fenster ein Emoji auswählst, aktualisiere alle identischen Emojis durch das neu ausgewählte Emoji. Hiervon ausgenommen ist die Zeile mit den zuletzt verwendeten Emojis. Das Emoji wird auch beim Klicken angesagt. (I892c6)
- Warte, bis die Emojicompat-Datei geladen ist, bevor du
EmojiPickerView
anzeigt. (I29e03)
Version 1.0.0-alpha01
25. Januar 2023
androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01
wird freigegeben. 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 Apps von Android OS ermöglicht. Sie bietet die neueste Emoji-Unterstützung und eine Benutzeroberfläche zur Emoji-Auswahl, einschließlich Hauttönen und Unterstützung für Emojis.
API-Änderungen
- Einführung der
EmojiPickerView
-Klasse, die aktuelle Emojis in einer vertikalen scrollbaren Ansicht mit einer anklickbaren horizontalen Kopfzeile bietet. - Die Rasterspalten für die Emoji-Auswahl können über das XML-Attribut
emojiGridColumns
oder die FunktionsetEmojiGridColumns()
festgelegt werden. - Die Rasterzeilen für die Emoji-Auswahl können über das XML-Attribut
emojiGridRows
oder die FunktionsetEmojiGridRows()
festgelegt werden. - Der Listener, der für Emojis ausgewählt wurde, kann über
setOnEmojiPickedListener()
festgelegt werden. Der Listener wird jedes Mal benachrichtigt, wenn der Nutzer auf ein Emoji klickt. - Der aktuelle Emoji-Anbieter kann mit
setRecentEmojiProvider()
angegeben werden. Dies ist eine optionale Funktion. Wenn der aktuelle Emoji-Anbieter nicht festgelegt ist, wird der aktuelle Emoji-Standardanbieter von der Bibliothek verwendet. Das Standardverhalten ist so definiert: 1) Alle ausgewählten Emojis werden pro App-Ebene in den geteilten Einstellungen gespeichert. 2) In der Auswahl werden maximal drei Zeilen ausgewählter Emojis, entdupliziert und in umgekehrter chronologischer Reihenfolge, angezeigt. - Die
EmojiViewItem
-Klasse wurde eingeführt, die das angezeigte Emoji und seine Emoji-Varianten enthält. - Die
RecentEmojiProvider
-Oberfläche wurde eingeführt, um eine aktuelle Emoji-Liste bereitzustellen.recentEmojiProvider
ist für die Bereitstellung von Emojis in der Kategorie „Zuletzt verwendet“ verantwortlich.
Version 1.5
Version 1.5.0-alpha01
13. Dezember 2023
androidx.emoji2:emoji2-*:1.5.0-alpha01
wird freigegeben. 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 freigegeben. 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 der Dokumentation für Entwickler.
Version 1.4.0-rc01
26. Juli 2023
androidx.emoji2:emoji2-*:1.4.0-rc01
wird freigegeben. Version 1.4.0-rc01 enthält diese Commits.
API-Änderungen
- Einführung in die
registerSource
-Liste (Iae92f) - API Council-Feedback:
TransitionManager.seekTo()
increateSeekController()
umbenannt. Passe den vorherigen Kommentar zum Hinzufügen vonTransitionManager.seekTo()
zuTransitionManager.createSeekController()
an. (Idbeb1) ExerciseRouteResult
wurde hinzugefügt, die nicht die Basisklasse 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 einer Messung in Pager erfasst wurden. Außerdem wurde PageInfo vorgestellt, die Informationen zu einer einzelnen gemessenen Seite in Pager. (Iad003, b/283098900)
Fehlerkorrekturen
- Wir haben die Farben für
Button
,IconButton
undTextButton
im Einklang mit dem Material3-Design aktualisiert. Die semantische Rolle fürButton
,IconButton
undTextButton
kann jetzt mitModifier.semantics
überschrieben werden. (Ib2495) - Die Tabauswahl und die Anzeigenanzeige von
EmojiPickerView
wurden mit einem Klick hintereinander aktualisiert. (I4db04) FileNotFoundException
zum Anzeigen der Emoji-Auswahl (I353e4)WindowManager.BadTokenException
mitEmojiPickerView
erfassen (I0a144)
Version 1.4.0-beta05
7. Juni 2023
androidx.emoji2:emoji2-*:1.4.0-beta05
wird freigegeben. Version 1.4.0-beta05 enthält diese Commits.
Fehlerkorrekturen
- Ein in Version 1.3 eingeführter Fehler wurde behoben, durch den
MetricsAffectingSpans
wieRelativeSizeSpan
zweimal angewendet wurden. Einmal während des Textlayouts und einmal inEmojiSpan.draw
. Das Ergebnis war die falsche Größe gezeichnet; sichtbar, wenn einer der Textgrößenparameter durch die Spanne geändert wurde. (b/283208650)
Version 1.4.0-beta04
24. Mai 2023
androidx.emoji2:emoji2-*:1.4.0-beta04
wird freigegeben. Version 1.4.0-beta04 enthält diese Commits.
Diese Version behebt einen Fehler, der seit Version 1.0 existiert, bei dem Ansichten mit einem anderen Handler als Haupt-Handler eine Ausnahme ausgeben, wenn versucht wird, die Emoji-Spans nach dem Laden der Schrift zu aktualisieren. Es gibt keine Problemumgehung. Wenn Sie von diesem Fehler betroffen sind, führen Sie ein Upgrade auf diese oder eine neuere Version durch.
Fehlerkorrekturen
EmojiCompat
-Initialisierungs-Callbacks verwenden jetzt den Handler der einzelnen Ansichten und berücksichtigen Ansichten außerhalb des Hauptthreads. (ICCC)
Version 1.4.0-beta03
10. Mai 2023
androidx.emoji2:emoji2-*:1.4.0-beta03
wird freigegeben. Version 1.4.0-beta03 enthält diese Commits.
Fehlerkorrekturen
- Absturz der verschachtelten Pop-up-Ansicht für die Emoji-Auswahl wurde behoben. (0acc8e)
- Lösen Sie frühe Ausnahmen im
EmojiCompat getEmojiStart/getEmojiEnd
aus. 26177f
Version 1.4.0-beta02
19. April 2023
androidx.emoji2:emoji2-*:1.4.0-beta02
wird freigegeben. Version 1.4.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Lint-Referenzdateien aktualisieren (Iaa212)
Version 1.4.0-beta01
5. April 2023
androidx.emoji2:emoji2-*:1.4.0-beta01
wird freigegeben. 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 Design, aktuellen Emojis und einer intuitiven Benutzeroberfläche. Nutzer können Emojis und ihre Varianten suchen und auswählen oder aus den kürzlich verwendeten Emojis auswählen. Mithilfe dieser Bibliothek können Apps verschiedener OEMs ihren Nutzern ein inklusives und einheitliches Emoji-Erlebnis bieten, ohne dass die Entwickler eine eigene Emoji-Auswahl von Grund auf neu erstellen und verwalten müssen.
Aktuelle Emojis
Jedes Jahr werden neue Emojis veröffentlicht, die wir selektiv in die Emoji-Auswahl aufnehmen. Um die Abwärtskompatibilität zu gewährleisten, führen wir intern eine genaue Prüfung der Emoji-Renderingbarkeit durch, um Tofu zu eliminieren. Dadurch wird sichergestellt, dass die Bibliothek mit mehreren Android-Versionen und -Geräten kompatibel ist.
Fixierte Varianten
Wenn Sie ein Emoji lange drücken, wird ein Menü mit Varianten angezeigt, z. B. nach Geschlecht oder Hauttönen. Die ausgewählte Variante wird in der Emoji-Auswahl gespeichert und die letzte ausgewählte Variante wird im Hauptbereich verwendet. Mit dieser Funktion können Nutzer mit nur einem Tippen ihre bevorzugten Emoji-Varianten senden.
Zuletzt verwendete Emojis
RecentEmojiProvider
ist für die Bereitstellung von Emojis in der Kategorie „Zuletzt verwendet“ verantwortlich. Die Bibliothek hat einen standardmäßigen aktuellen Emoji-Anbieter für den häufigsten Anwendungsfall:
- Alle ausgewählten Emojis werden pro App-Ebene in den geteilten Einstellungen gespeichert.
- In der Auswahl werden maximal drei Zeilen ausgewählter Emojis, dedupliziert, in umgekehrter chronologischer Reihenfolge angezeigt.
Wenn dieses Standardverhalten ausreichend ist, 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 problemlos.
Bibliothek verwenden
Um die Bibliothek nutzen zu können, muss ein App-Entwickler
androidx.emoji2:emojipicker:$version
inbuild.gradle
importieren.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Erweitern Sie die Emoji-Auswahlansicht und legen Sie optional
emojiGridRows
undemojiGridColumns
für die gewünschte Größe der jeweiligen Emoji-Zelle fest.- Sie könnten sie nicht konfigurieren. Der Standardwert ist 9
emojiGridColumns
. Die Zeilen werden basierend auf der Höhe der übergeordneten Ansicht undemojiGridColumns
berechnet. - Sie könnten
emojiGridRows
als Gleitkommazahl festlegen, um anzuzeigen, dass weitere Emojis vorhanden sind, wenn Sie in XML nach unten scrollen.
<androidx.emoji2.emojipicker.EmojiPickerView android:id="@+id/emoji_picker" android:layout_width="match_parent" android:layout_height="match_parent" app:emojiGridColumns="9" />
- Sie könnten sie nicht konfigurieren. 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 du die ausgewählten Emojis an einen „EditText“ anhängen möchtest, verwende
setOnEmojiPickedListener()
.emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }
Legen Sie optional
RecentEmojiProvider
fest. Eine Beispielimplementierung finden Sie in der Beispiel-App.Sie können Stile bei Bedarf anpassen. Erstellen Sie einen eigenen Stil, um gängige Designattribute zu überschreiben, und wenden Sie den Stil auf die
EmojiPickerView
an. Wenn du beispielsweise „colorControlNormal
“ überschreibst, ä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 Beispiel-App.
Eine vollständige API-Oberfläche finden Sie hier.
Beispiel-App
Diese Beispiel-App zeigt grundlegende Anwendungsfälle sowie die folgenden zusätzlichen Szenarien:
- Das Layout der Ansicht wurde geändert, weil
emojiGridRows
undemojiGridColumns
zurückgesetzt wurden. - Der aktuelle Emoji-Anbieter wird überschrieben, um nach Häufigkeit zu sortieren.
- Stilanpassung.
API-Änderungen
Die Emoji-Auswahlbibliothek wurde mit den folgenden neuen APIs aktualisiert:
- Die Klasse
EmojiPickerView
, die aktuelle Emojis in einer vertikalen scrollbaren Ansicht mit einer anklickbaren horizontalen Kopfzeile bereitstellt. - Die Anzahl der Spalten und Zeilen im Emoji-Auswahlraster kann über die XML-Attribute
emojiGridColumns
undemojiGridRows
oder die MethodensetEmojiGridColumns()
undsetEmojiGridRows()
festgelegt werden. - Die Möglichkeit, über die Methode
setOnEmojiPickedListener()
einen für Emojis ausgewählten Listener festzulegen. Der Hörer wird jedes Mal benachrichtigt, wenn der Nutzer auf ein Emoji klickt. - Die Möglichkeit, einen aktuellen Emoji-Anbieter über die Methode
setRecentEmojiProvider()
anzugeben. Dies ist eine optionale Funktion. Wenn der aktuelle Emoji-Anbieter nicht festgelegt ist, wird der aktuelle Emoji-Standardanbieter von der Bibliothek verwendet. Das Standardverhalten ist so definiert:- Alle ausgewählten Emojis werden pro App-Ebene in den geteilten Einstellungen gespeichert.
- In der Auswahl werden maximal drei Zeilen ausgewählter Emojis, dedupliziert und in umgekehrter chronologischer Reihenfolge, angezeigt.
- Die Klasse
EmojiViewItem
, die das angezeigte Emoji und seine Emoji-Varianten enthält. - Die
RecentEmojiProvider
-Schnittstelle, die implementiert werden kann, um eine aktuelle Emoji-Liste bereitzustellen.recentEmojiProvider
ist für die Bereitstellung von Emojis in der Kategorie „Zuletzt verwendet“ verantwortlich. - Die
RecentEmojiAsyncProvider
-Schnittstelle, die implementiert werden kann, um eine aktuelle Emoji-Liste bereitzustellen.RecentEmojiAsyncProvider
ist für die Bereitstellung von Emojis in der Kategorie „Zuletzt verwendet“ verantwortlich. Diese Schnittstelle entsprichtRecentEmojiProvider
, mit der Clients die MethodegetRecentEmojiListAsync()
ü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 freigegeben. Version 1.4.0-alpha01 enthält diese Commits.
Fehlerkorrekturen
- Tests reparieren, 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 freigegeben. Version 1.3.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.2.0
- Mit dieser Version kann mit Compose Foundation
1.4.0
und höher die Einbindung von Emojis2 aktiviert werden. - Außerdem bietet sie Funktionen zum Ersetzen von
EmojiSpans
durch benutzerdefinierten Zeichencode sowie Unterstützung für Emoji-Ausschlüsse, die auf Android definiert sind.
Version 1.3.0-rc01
8. März 2023
androidx.emoji2:emoji2-*:1.3.0-rc01
wird freigegeben. Version 1.3.0-rc01 enthält diese Commits.
Neue Funktionen
- Diese Version soll die Integration von „Emoji2 Compose“ unterstützen.
API-Änderungen
- Ersetzen Sie Spans durch benutzerdefinierten Zeichencode.
- Systemausschlüsse werden abgefragt.
Fehlerkorrekturen
- Es wurde ein Fehler behoben, bei dem Hintergrund-Spans hinter
EmojiSopans
nicht korrekt 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
wurden veröffentlicht.
22. Februar 2023
androidx.emoji2:emoji2:1.3.0-beta03
wird freigegeben. Version 1.3.0-beta03 enthält diese Commits.
Neue Funktionen
- Keine Änderungen Diese Version dient der Vorbereitung auf die Integration von E-Mails.
Version 1.3.0-beta02
8. Februar 2023
androidx.emoji2:emoji2-*:1.3.0-beta02
wird freigegeben. Version 1.3.0-beta02 enthält diese Commits.
Neue Funktionen
- Dieser Release stabilisiert die Integration, um die E-Mail-Texterstellung zu unterstützen.
Version 1.3.0-beta01
25. Januar 2023
androidx.emoji2:emoji2-*:1.3.0-beta01
wird freigegeben. Version 1.3.0-beta01 enthält diese Commits.
Neue Funktionen
- Systemausschlüsse werden abgefragt.
- Die Spans werden durch benutzerdefinierten Zeichencode ersetzt.
- Es wurde ein Fehler behoben, bei dem Hintergrund-Spans hinter
EmojiSopans
nicht korrekt angewendet wurden. - In diesem Release werden APIs hinzugefügt, die zur Unterstützung von
EmojiCompat
in Compose erforderlich sind. Demnächst wird das Verfassen von Emoji-kompatibel unterstützt.
Version 1.3.0-alpha01
11. Januar 2023
androidx.emoji2:emoji2-*:1.3.0-alpha01
wird freigegeben. 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
- Es wurde ein Fehler behoben, bei dem Hintergrund-Spans hinter
EmojiSopans
nicht korrekt angewendet wurden. - In diesem Release werden APIs hinzugefügt, die zur Unterstützung von
EmojiCompat
in Compose erforderlich sind. Demnächst wird das Verfassen von Emoji-kompatibel unterstützt.
API-Änderungen
- Eine Abfrage von Systemausschlüssen zu
TypefaceEmojiRasterizer
wurde hinzugefügt. (I5653e) - Die neue API
EmojiCompat.SpanFactory
wurde hinzugefügt, um das StandardverhaltenEmojiSpan
durch benutzerdefinierten Zeichen- und Größencode zu ersetzen. (Ib69d9) - „
EmojiCompat
“ zu „Schreiben“ hinzugefügt (I96f37, b/139326806)
Fehlerkorrekturen
- Emoji2 zeichnet jetzt Hintergründe von
BackgroundSpan
korrekt. (Ide6a8, b/230525134) - AppCompat APIs für 1.5.0-beta01 (I2a43d, b/236866227) fertigstellen
Version 1.2
Version 1.2.0
10. August 2022
androidx.emoji2:emoji2-*:1.2.0
wird freigegeben. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.1.0
Dies ist eine Version zur Fehlerbehebung. Seit Version 1.1.0 wurden keine neuen Funktionen oder APIs hinzugefügt.
Bei Apps, die PrecomputedText
oder TextView.setText(char[])
verwenden, sollte diese Version jedoch bevorzugt werden.
Die folgenden Fehler wurden behoben:
Emoji2
fügtPrecomputedText
Emojis hinzu und verwirft das zuvor berechnete Textlayout. (I47d06, b/211231958)- Absturzbehebung des Editors wurde von Android P zu
EditText
zurückportiert, das für die Verwendung von Emoji2 konfiguriert ist. (Ifd709, b/216891011) - Das Problem mit dem Absturz behoben, bei dem Emoji2 die Schriftart lädt 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 freigegeben. 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 freigegeben. Version 1.2.0-beta01 enthält diese Commits.
Neue Funktionen
- Keine Änderungen gegenüber der letzten Version (diese Version soll die AppCompat-Version unterstützen).
Version 1.2.0-alpha04
20. April 2022
androidx.emoji2:emoji2-*:1.2.0-alpha04
wird freigegeben. Version 1.2.0-alpha04 enthält diese Commits.
Neue Funktionen
- In diesem Release wurden keine Änderungen vorgenommen.
Version 1.2.0-alpha03
6. April 2022
androidx.emoji2:emoji2-*:1.2.0-alpha03
wird freigegeben. Version 1.2.0-alpha03 enthält diese Commits.
Neue Funktionen
- Keine Änderungen gegenüber der letzten Version (diese Version soll die Appcompat-Version unterstützen).
Version 1.2.0-alpha02
23. März 2022
androidx.emoji2:emoji2-*:1.2.0-alpha02
wird freigegeben. Version 1.2.0-alpha02 enthält diese Commits.
Fehlerkorrekturen
- Emoji2 fügt Emojis zu
PrecomputedText
hinzu, indem das zuvor berechnete Textlayout verwirft wird. (I47d06, b/211231958) - Absturzbeseitigung des Editors wurde von Android P zu EditText (Emoji2) zurückportiert. (Ifd709, b/216891011)
- Das Problem mit dem Absturz behoben, bei dem Emoji2 die Schriftart lädt 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 freigegeben. 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 freigegeben. Version 1.1.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.0.0
- Emoji2-Bundle 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 eine Emojikompatible Schriftart hinter der Systemschrift verwendet wird - Fehlerkorrektur für
NumberKeyListener
, durch die bei der Eingabe von Ziffern Zeichen richtig gefiltert werden.
Version 1.1.0-rc01
9. Februar 2022
androidx.emoji2:emoji2-*:1.1.0-rc01
wird freigegeben. 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 Schriftart von Emoji 14- Die neue
getEmojiMatch
API gibt genaue Informationen für Tastaturen zurück, um zu entscheiden, wie ein Emoji angezeigt wird, wenn eine Emojikompatible Schriftart hinter der Systemschrift verwendet wird - Fehlerkorrektur für
NumberKeyListener
, durch die Zeichen bei der Zifferneingabe richtig gefiltert werden
Version 1.1.0-beta01
26. Januar 2022
androidx.emoji2:emoji2-*:1.1.0-beta01
wird freigegeben. Version 1.1.0-beta01 enthält diese Commits.
Fehlerkorrekturen
- androidx-emoji2 beta01. Keine Änderungen gegenüber alpha01 (Ic61d9)
Version 1.1.0-alpha01
15. Dezember 2021
androidx.emoji2:emoji2-*:1.1.0-alpha01
wird freigegeben. Version 1.1.0-alpha01 enthält diese Commits.
Neue Funktionen
emoji2-bundled
enthält die Schriftart von Emoji 14- Die neue
getEmojiMatch
API gibt genaue Informationen für Tastaturen zurück, um zu entscheiden, wie ein Emoji angezeigt wird, wenn eine Emojikompatible Schriftart hinter der Systemschrift verwendet wird - Fehlerkorrektur für
NumberKeyListener
, durch die Zeichen bei der Zifferneingabe richtig gefiltert werden
API-Änderungen
- Füge die neue API
getEmojiMatch
hinzu, damit Tastaturen das Verhalten von Emoji-Übereinstimmungen in Emojiscompat genauer suchen können. - Entfernen Sie
hasEmojiGlyph
, da der boolesche Rückgabewert beim Testen einer Schriftart, die älter als die Plattform-Emoji-Schriftart ist, ungenau ist. Ersetzen Sie sie durchgetEmojiMatch
. (Ie693d)
Fehlerkorrekturen
- Emoji2 fasst keine Instanzen von
NumberKeyListener
zusammen, sodass die Sprache vonTextView
konfiguriert werden kann. - Appcompat packt keine an
setKeyListener
übergebenen Instanzen vonNumberKeyListener
zusammen, sodassTextView
die Sprache aufNumberKeyListeners
richtig konfigurieren kann. (Ibf113, b/207119921)
1.0
Version 1.0.1
15. Dezember 2021
androidx.emoji2:emoji2-*:1.0.1
wird freigegeben. Version 1.0.1 enthält diese Commits.
Fehlerkorrekturen
Emoji2
fasst keine Instanzen vonNumberKeyListener
zusammen, wodurch die Sprache durchTextView
konfiguriert werden kann.- Appcompat packt keine an
setKeyListener
übergebenen Instanzen vonNumberKeyListener
zusammen, sodassTextView
die Sprache aufNumberKeyListeners
richtig konfigurieren kann. (Ibf113, b/207119921)
Version 1.0.0
17. November 2021
androidx.emoji2:emoji2-*:1.0.0
wird freigegeben. Version 1.0.0 enthält diese Commits.
Hauptfunktionen von Version 1.0.0
androidx.emoji2 ersetzt androidx.emoji durch 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 Vortrag vom Android Dev Summit unter Anzeige ALLER Emojis in Ihrer App Android Dev.
Version 1.0.0-rc01
27. Oktober 2021
androidx.emoji2:emoji2-*:1.0.0-rc01
wird freigegeben. 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 freigegeben. Version 1.0.0-beta01 enthält diese Commits.
API-Änderungen
setLoadingExecutor
wurde zuFontRequestEmojiCompatConfig
hinzugefügt. Diese ersetzt die vorherige API vonsetHandler
. Mit dieser API können AnwendungenFontRequestEmojiCompatConfig
so konfigurieren, dass sie einen beliebigen Hintergrund-Executor verwenden.Diese Änderung ist eine nicht abwärtskompatible Änderung gegenüber
androidx.emoji:emoji
.setHandler
wird daher als betriebslose eingestellte API beibehalten, um die Migration zu vereinfachen. (I6cd48)EmojiCompat legt
EditorInfo.extras
unter Android 11 korrekt fest- Benutzerdefinierte Widgets, die IME verwenden, aber keine abgeleitete Klasse von EditText sind, können
EmojiCompat.updateEditorInfo
aufrufen, um IME darüber zu informieren, dass sie die EmojiCompat-Verarbeitung unterstützen. (I1ea9b)
- Benutzerdefinierte Widgets, die IME verwenden, aber keine abgeleitete Klasse von EditText sind, können
Fehlerkorrekturen
- Korrigieren Sie
DefaultEmojiCompatConfig
, damit der Emoji-Schriftartanbieter in API 19 und 28 korrekt nachgeschlagen wird. Damit wurde ein in Emoji2 1.0.0-alpha01 eingeführter Fehler behoben. (Ib33d8, b/197906329)
Version 1.0.0-alpha03
30. Juni 2021
androidx.emoji2:emoji2-*:1.0.0-alpha03
wird freigegeben. Version 1.0.0-alpha03 enthält diese Commits.
Neue Funktionen
Diese Version ist eine Version zur Fehlerbehebung und Stabilisierung.
- Mit EmojiEditTextHelper kann
null
jetzt als KeyListener weitergegeben werden. Dies ermöglicht das Plattformverhalten, bei dem NULL-Werte auf Emojis angewendet werden können, die EditText-Implementierungen unterstützen. - Bei Verwendung von EmojiCompatInitializer wird die anfängliche Startverzögerung verbessert, sodass sie ausgelöst wird, sobald die erste Aktivität fortgesetzt wird. Dies ermöglicht den App-Start ohne Konkurrenz und vermeidet das Laden der Schriftart für App-Starts, bei denen nie eine Benutzeroberfläche angezeigt wird. Nach einer kurzen Verzögerung erstellt EmojiCompat einen Thread zum Laden der Emoji-Schriftart.
- Eine neue Abhängigkeit von
androidx.lifecycle:lifecycle-process
ausandroidx.emoji2:emoji2
wird hinzugefügt, um die Verzögerung zu implementieren. Bei Apps, die bereits den Lebenszyklus umfassen, z. B. Apps mit appcompat, wird die APK-Größe nur geringfügig von der Größe beeinflussen.
API-Änderungen
- Lässt null KeyListener in AppCompatEditText zu. Dadurch wird die Annotation „Nicht null“, die in 1.4.0-alpha01 zu AppCompatEditText hinzugefügt wurde, rückgängig gemacht und das vorherige Verhalten bei Übergabe von null wiederhergestellt. (I21482, b/189559345)
Fehlerkorrekturen
- Ändern Sie EmojiCompatInitializer, um das Laden der Schriftart bis 500 ms nach dem ersten
Activity.onResume
zu verzögern. Auf diese Weise kann eine AktivitätApplication.onCreate
undActivity.onCreate
unkonkurrenzfähig ausführen und gleichzeitig dafür sorgen, dass die Emoji-Schriftart kurz nach dem Start der Anwendung 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
wurden veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
API-Änderungen
- Paket in
emoji2-views-helper
wurde inandroidx.emoji2.viewsintegration
umbenannt. Dies ist eine funktionsgefährdende Änderung für AppCompat1.4.0-alpha01
. Bei Anwendungen muss die AppCompat-Abhängigkeit aktualisiert werden, damit die neue Emoji2-Version verwendet wird. (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
wurden veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.
Funktionen in dieser ersten Version
Die Integration von Emojiscompat wird für alle Apps empfohlen, um moderne Emojis von API19 zu unterstützen. Alle von Nutzern erstellten Inhalte in Ihrer App enthalten 🎉.
EmojiCompat wurde von den androidx.emoji
-Artefakten auf das neue androidx.emoji2
umgestellt, das sich jetzt in Alpha01 befindet. Die neuen Artefakte ersetzen die vorherige Version.
emoji2
wird in AppCompat 1.4.0-alpha01
als Abhängigkeit zu AppCompat hinzugefügt und ist für AppCompat-Ansichten standardmäßig aktiviert.
Das Artefakt emoji2
führt eine neue automatische Konfiguration mithilfe der Bibliothek androidx.startup
ein. Du musst jetzt keinen 👨🏽 ⚠ Code mehr schreiben, um ihn dir zu zeigen erfassen schedule️.
Änderungen an Emoji2 von Emojis
- Neue automatische Konfiguration
EmojiCompatInitializer
mitandroidx.startup
hinzugefügt. - Es wurde eine neue Standardkonfiguration hinzugefügt, die anhand des Dienststandorts einen Anbieter von Schriftarten zum Herunterladen in
DefaultEmojiCompatConfiguration
ermittelt. - Klassen verschoben vom
androidx.emoji
-Paket nachandroidx.emoji2
. - Teilen Sie
EmojiTextView
und zugehörige Ansichten in einem separaten Artefaktemoji2-views
auf. Diese Option sollte nur verwendet werden, wenn Ihre App nicht die App-Kompatibilität verwendet. - Extrahierte Hilfsprogramme zum Einbinden von Emojiscompat in benutzerdefinierte Ansichten in ein separates
emoji2-views-helper
-Artefakt. - Anmerkungen zur Null-Zulässigkeit wurden hinzugefügt.
- Hilfsprogramme in
emoji2-views-helper
können jetzt auch dann verwendet werden, wennEmojiCompat
nicht initialisiert ist (zuvor haben sie 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. - Für Apps ohne AppCompat, die
TextView
/EditText
der Plattform verwenden, solltenEmojiTextView
und verwandte Klassen vonemoji2-views
verwendet werden.
Unterstützung in benutzerdefinierten Ansichten
- Anwendungen mit AppCompat sollten
AppCompatTextView
,AppCompatButton
usw. anstelle der PlattformTextView
usw. erweitern. - Anwendungen ohne AppCompat sollten die
androidx.emoji2:emoji2-views-helper
-Abhängigkeit hinzufügen und Hilfsprogramme für die Integration in benutzerdefinierteTextView
- oderEditText
-Unterklassen verwenden.
Automatische Initialisierung konfigurieren
Apps können die automatische Initialisierung deaktivieren, indem sie dem Manifest Folgendes hinzufü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. Sie können dann eine benutzerdefinierte Konfiguration an
EmojiCompat.init
übergeben. Die Standardkonfiguration für das System kann zur weiteren KonfigurationDefaultEmojiCompatConfig.create(context)
abgerufen werden, bevor sie anEmojiCompat.init
übergeben wird.