Emoji2

Emojis auf aktuellen und älteren Geräten anzeigen.
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.

Neues Problem erstellen

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 Funktion setEmojiGridColumns() festgelegt werden.
  • Die Rasterzeilen für die Emoji-Auswahl können über das XML-Attribut emojiGridRows oder die Funktion setEmojiGridRows() 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

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() in createSeekController() umbenannt. Passe den vorherigen Kommentar zum Hinzufügen von TransitionManager.seekTo() zu TransitionManager.createSeekController() an. (Idbeb1)
  • ExerciseRouteResult wurde hinzugefügt, die nicht die Basisklasse für Data, NoData und ConsentRequiredStates 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 und TextButton im Einklang mit dem Material3-Design aktualisiert. Die semantische Rolle für Button, IconButton und TextButton kann jetzt mit Modifier.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 mit EmojiPickerView 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 wie RelativeSizeSpan zweimal angewendet wurden. Einmal während des Textlayouts und einmal in EmojiSpan.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

  1. androidx.emoji2:emojipicker:$version in build.gradle importieren.

    dependencies {
      implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. Erweitern Sie die Emoji-Auswahlansicht und legen Sie optional emojiGridRows und emojiGridColumns 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 und emojiGridColumns 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" />
    

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)
  1. 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)
      }
    
  2. Legen Sie optional RecentEmojiProvider fest. Eine Beispielimplementierung finden Sie in der Beispiel-App.

  3. 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 und emojiGridColumns 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 und emojiGridRows oder die Methoden setEmojiGridColumns() und setEmojiGridRows() 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 entspricht RecentEmojiProvider, mit der Clients die Methode getRecentEmojiListAsync() überschreiben können, um aktuelle Emojis bereitzustellen.
  • Die Klasse RecentEmojiProviderAdapter, die ein Adapter für RecentEmojiAsyncProvider ist und RecentEmojiProvider 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 Standardverhalten EmojiSpan durch benutzerdefinierten Zeichen- und Größencode zu ersetzen. (Ib69d9)
  • EmojiCompat“ zu „Schreiben“ hinzugefügt (I96f37, b/139326806)

Fehlerkorrekturen

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ügt PrecomputedText 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 durch getEmojiMatch. (Ie693d)

Fehlerkorrekturen

  • Emoji2 fasst keine Instanzen von NumberKeyListener zusammen, sodass die Sprache von TextView konfiguriert werden kann.
  • Appcompat packt keine an setKeyListener übergebenen Instanzen von NumberKeyListener zusammen, sodass TextView die Sprache auf NumberKeyListeners 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 von NumberKeyListener zusammen, wodurch die Sprache durch TextView konfiguriert werden kann.
  • Appcompat packt keine an setKeyListener übergebenen Instanzen von NumberKeyListener zusammen, sodass TextView die Sprache auf NumberKeyListeners 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 zu FontRequestEmojiCompatConfig hinzugefügt. Diese ersetzt die vorherige API von setHandler. Mit dieser API können Anwendungen FontRequestEmojiCompatConfig 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)

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.

  1. 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.
  2. 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 aus androidx.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ät Application.onCreate und Activity.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 in androidx.emoji2.viewsintegration umbenannt. Dies ist eine funktionsgefährdende Änderung für AppCompat 1.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 mit androidx.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 nach androidx.emoji2.
  • Teilen Sie EmojiTextView und zugehörige Ansichten in einem separaten Artefakt emoji2-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, wenn EmojiCompat 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, sollten EmojiTextView und verwandte Klassen von emoji2-views verwendet werden.

Unterstützung in benutzerdefinierten Ansichten

  • Anwendungen mit AppCompat sollten AppCompatTextView, AppCompatButton usw. anstelle der Plattform TextView usw. erweitern.
  • Anwendungen ohne AppCompat sollten die androidx.emoji2:emoji2-views-helper-Abhängigkeit hinzufügen und Hilfsprogramme für die Integration in benutzerdefinierte TextView- oder EditText-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 Konfiguration DefaultEmojiCompatConfig.create(context) abgerufen werden, bevor sie an EmojiCompat.init übergeben wird.