Emoji2

Emojis auf aktuellen und älteren Geräten anzeigen.
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alpha-Release
4. September 2024 1.5.0 - -

Abhängigkeiten deklarieren

Um eine Abhängigkeit von Emoji2 hinzuzufügen, müssen Sie das Maven-Repository von Google zu Ihrem Projekt arbeiten. Maven-Repository von Google lesen .

Fügen Sie der Datei build.gradle die Abhängigkeiten für die Artefakte hinzu, die Sie benötigen Ihre App oder Ihr Modul:

Cool

dependencies {
    def emoji2_version = "1.5.0"

    implementation "androidx.emoji2:emoji2:$emoji2_version"
    implementation "androidx.emoji2:emoji2-views:$emoji2_version"
    implementation "androidx.emoji2:emoji2-views-helper:$emoji2_version"
}

Kotlin

dependencies {
    val emoji2_version = "1.5.0"

    implementation("androidx.emoji2:emoji2:$emoji2_version")
    implementation("androidx.emoji2:emoji2-views:$emoji2_version")
    implementation("androidx.emoji2:emoji2-views-helper:$emoji2_version")
}

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Dein Feedback hilft uns, Jetpack zu verbessern. Teilen Sie uns mit, wenn Sie neue Ausgaben entdecken oder zur Verbesserung dieser Bibliothek. In der bestehende Probleme in dieser Bibliothek, bevor Sie eine neue erstellen. So können Sie für ein vorhandenes Problem abstimmen: indem Sie auf die Sternschaltfläche klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung. .

Emoji2 Emoji-Auswahl Version 1.0

Version 1.0.0-alpha03

8. März 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03 wurde veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.

Fehlerkorrekturen

  • Unnötige Ressourcen wurden entfernt und die Bibliotheksgröße um ca. 0,3 Mio. reduziert.

Version 1.0.0-alpha02

22. Februar 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02 wurde veröffentlicht. 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, damit sie Emoji 15.0 (Ib4eb3) unterstützen
  • Wenn Sie ein Emoji aus dem Pop-up-Fenster auswählen, aktualisieren Sie alle identischen Emojis auf das neu ausgewählte Emoji (mit Ausnahme der aktuellen Emoji-Zeile). Emoji beim Klicken ebenfalls vorlesen. (I892c6)
  • Warte, bis Emojicompat geladen wurde, bevor Sie die EmojiPickerView anzeigen. (I29e03)

Version 1.0.0-alpha01

25. Januar 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01 wurde veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Es wurde eine Emoji-Auswahl eingeführt, die eine einheitliche Nutzererfahrung mit den neuesten Emojis auf OEM-Geräten und Apps von Android OS bietet. Es bietet die neueste Emoji-Unterstützung und eine Benutzeroberfläche für die Emoji-Auswahl, einschließlich Hauttonvarianten und Emoji-Kompatibilität.

API-Änderungen

  • Einführung der Klasse „EmojiPickerView“, die aktuelle Emojis in einer vertikalen scrollbaren Ansicht mit anklickbarer horizontaler 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 für die Auswahl von Emojis kann über setOnEmojiPickedListener() festgelegt werden. Der Listener wird jedes Mal benachrichtigt, wenn der Nutzer auf ein Emoji geklickt hat.
  • Der aktuelle Emoji-Anbieter kann mit setRecentEmojiProvider() angegeben werden. Dies ist eine optionale Funktion. Wenn kein Anbieter für kürzlich verwendete Emojis festgelegt ist, wird von der Mediathek ein standardmäßiger Anbieter für kürzlich verwendete Emojis verwendet. Das Standardverhalten ist so definiert: 1) Alle ausgewählten Emojis werden für die jeweilige App-Ebene in den gemeinsamen Einstellungen gespeichert. 2) In der Auswahl werden maximal 3 Zeilen ausgewählter Emojis (dedupliziert) in umgekehrter chronologischer Reihenfolge angezeigt.
  • EmojiViewItem-Klasse wurde eingeführt, die das angezeigte Emoji und seine Emoji-Varianten enthält.
  • Einführung der RecentEmojiProvider-Oberfläche, die implementiert werden kann, um eine Liste mit aktuellen Emojis bereitzustellen. recentEmojiProvider ist für die Bereitstellung von Emojis in der Kategorie „Zuletzt verwendet“ verantwortlich.

Version 1.5

Version 1.5.0

4. September 2024

androidx.emoji2:emoji2-*:1.5.0 wurde veröffentlicht. Version 1.5.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.4.0

  • Unterstützt Emoji 15.1 und die Benutzeroberfläche für die bidirektionale Emoji-Auswahl. Mit einem einfachen Klick auf die bidirektionale Schaltfläche können Nutzer zwischen der linken und der rechten Version von Emojis wechseln.
  • Unterstützung für die Multi-Skintone-Emoji-Auswahl Wenn du mehrere Emojis gedrückt hältst, wird eine Emoji-Auswahl für mehrere Personen angezeigt. Wenn der Nutzer auf die linke Hälfte eines Emojis tippt, wird die Emoji-Vorschau unten rechts entsprechend aktualisiert. Wenn der Nutzer beide Hälften eines Emojis auswählt, wird in der Emoji-Vorschau unten rechts das gesamte Emoji angezeigt und der Nutzer kann es eingeben.

Version 1.5.0-rc01

21. August 2024

androidx.emoji2:emoji2-*:1.5.0-rc01 wurde veröffentlicht. Version 1.5.0-rc01 enthält diese Commits.

Neue Funktionen

  • Unterstützung von Emoji 15.1 und der Benutzeroberfläche für die bidirektionale Emoji-Auswahl Mit einem einfachen Klick auf die bidirektionale Schaltfläche können Nutzer zwischen der linken und der rechten Emoji-Version wechseln.
  • Unterstützung für die Multi-Skintone-Emoji-Auswahl Wenn du mehrere Emojis gedrückt hältst, wird eine Emoji-Auswahl für mehrere Personen angezeigt. Wenn der Nutzer auf die linke Hälfte eines Emojis tippt, wird die Emoji-Vorschau unten rechts entsprechend aktualisiert. Wenn der Nutzer beide Hälften eines Emojis auswählt, wird in der Vorschau das gesamte Emoji angezeigt und der Nutzer kann es dann eingeben.

Fehlerkorrekturen

  • Die manuelle Beschreibung des Zugriffs auf neue Plattform-APIs wurde entfernt, da dies bei Verwendung von R8 mit AGP 7.3 oder höher (z.B. R8-Version 3.3) und bei allen Builds bei Verwendung von AGP 8.1 oder höher (z.B. D8 Version 8.1) automatisch über die API-Modellierung erfolgt. Kunden, die AGP nicht verwenden, wird empfohlen, auf D8-Version 8.1 oder höher zu aktualisieren. Weitere Details findest du in diesem Artikel. (If6b4c, b/345472586)
  • Die Tabauswahl und die Anzeige von EmojiPickerView werden mit einem Klick nach hinten aktualisiert. (146b02, b/288261054)
  • Die Tabauswahl und die Anzeige von EmojiPickerView sind fehlerhaft. (5e1f14, b/273883688)

Version 1.5.0-beta01

10. Juli 2024

androidx.emoji2:emoji2-*:1.5.0-beta01 wurde veröffentlicht. Version 1.5.0-beta01 enthält diese Commits.

Neue Funktionen

  • Unterstützt Emoji 15.1 und die Benutzeroberfläche zur bidirektionalen Emoji-Auswahl.
  • Unterstützen Sie die Neugestaltung der Multi-Skintone-Auswahl.

Fehlerkorrekturen

  • Die Tabauswahl und die Anzeige von EmojiPickerView werden mit einem Klick nach hinten aktualisiert. (146b02, b/288261054)
  • Die Tabauswahl und die Anzeige von EmojiPickerView sind fehlerhaft. (5e1f14, b/273883688)

Version 1.5.0-alpha01

13. Dezember 2023

androidx.emoji2:emoji2-*:1.5.0-alpha01 wurde 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 steuert jetzt das Laden von Threads durch einen Executor. (I00e81)

Version 1.4

Version 1.4.0

9. August 2023

androidx.emoji2:emoji2-*:1.4.0 wurde veröffentlicht. 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 wurde veröffentlicht. Version 1.4.0-rc01 enthält diese Commits.

API-Änderungen

  • registerSource-Liste vorstellen (Iae92f)
  • API Council-Feedback: TransitionManager.seekTo() wurde in createSeekController() umbenannt. Bitte passe den vorherigen Kommentar zum Hinzufügen von TransitionManager.seekTo() zu TransitionManager.createSeekController() an. (Idbeb1)
  • ExerciseRouteResult wurde hinzugefügt. Diese Klasse ist nicht die Basisklasse für Data, NoData und ConsentRequiredStates. 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 eingeführt, die Informationen zu einer einzelnen gemessenen Seite in Pager. (Iad003, b/283098900)

Fehlerkorrekturen

  • Wir haben die Farben für Button, IconButton und TextButton an das Design von Material3 angepasst. Die semantische Rolle für Button, IconButton und TextButton kann jetzt mit Modifier.semantics überschrieben werden. (Ib2495)
  • Problem behoben, bei dem die Tab-Auswahl von EmojiPickerView und die Anzeige mit einem Klick nach hinten aktualisiert wurden. (I4db04)
  • FileNotFoundException zum Einblenden der Emoji-Auswahl (I353e4)
  • WindowManager.BadTokenException bei Verwendung von EmojiPickerView abfangen (I0a144)

Version 1.4.0-beta05

7. Juni 2023

androidx.emoji2:emoji2-*:1.4.0-beta05 wurde veröffentlicht. Version 1.4.0-beta05 enthält diese Commits.

Fehlerkorrekturen

  • In Version 1.3 wurde ein Fehler behoben, der dazu führte, dass MetricsAffectingSpans wie RelativeSizeSpan zweimal angewendet wurde. Einmal während des Textlayouts und noch einmal innerhalb von EmojiSpan.draw. Das Ergebnis wurde beim Zeichnen in falscher Größe gezeichnet, das sichtbar ist, 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 wurde veröffentlicht. Version 1.4.0-beta04 enthält diese Commits.

Diese Version behebt einen Fehler seit Version 1.0, bei dem Ansichten mit einem Nicht-Haupt-Handler eine Ausnahme ausgelöst haben, wenn versucht wurde, die Emoji-Spans nach Abschluss des Ladens der Schriftart zu aktualisieren. Es gibt keine Behelfslösung. Wenn Sie von diesem Fehler betroffen sind, führen Sie bitte ein Upgrade auf diese oder eine spätere Version durch.

Fehlerkorrekturen

  • Init-Callbacks vom Typ EmojiCompat verwenden jetzt den Handler aus jeder Ansicht und berücksichtigen dabei Ansichten, die sich nicht im Hauptthread befinden. (Iccbcf)

Version 1.4.0-beta03

10. Mai 2023

androidx.emoji2:emoji2-*:1.4.0-beta03 wurde 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)
  • Lösen Sie frühzeitige Ausnahmen in EmojiCompat getEmojiStart/getEmojiEnd aus. (26177f)

Version 1.4.0-beta02

19. April 2023

androidx.emoji2:emoji2-*:1.4.0-beta02 wurde veröffentlicht. 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 wurde 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, die ein modernes Design, aktuelle Emojis und eine einfache Bedienbarkeit bietet. Nutzer können nach Emojis und ihren Varianten oder aus den zuletzt verwendeten Emojis suchen und auswählen. Mit dieser Bibliothek können Apps verschiedener OEMs ihren Nutzern ein inklusives und einheitliches Emoji-Erlebnis bieten, ohne dass die Entwickler ihre eigene Emoji-Auswahl von Grund auf neu erstellen und verwalten müssen.

Aktuelle Emojis

Jedes Jahr werden neue Emojis veröffentlicht, die wir gezielt in die Emoji-Auswahl aufnehmen. Um die Abwärtskompatibilität sicherzustellen, führen wir intern eine genaue Prüfung der Renderbarkeit von Emojis durch, um Tofu zu entfernen. Dadurch wird sichergestellt, dass die Bibliothek mit verschiedenen Android-Versionen und -Geräten kompatibel ist.

Fixierte Varianten

Wenn Sie lange auf ein Emoji drücken, wird ein Menü mit Varianten eingeblendet, z. B. mit verschiedenen Geschlechts- oder Hauttönen. Die von dir 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 einmal tippen senden.

Zuletzt verwendete Emojis

RecentEmojiProvider ist für die Bereitstellung von Emojis in der Kategorie „Zuletzt verwendet“ verantwortlich. In der Bibliothek gibt es einen standardmäßigen Anbieter für aktuelle Emojis, der den häufigsten Anwendungsfall erfüllt:

  • Alle ausgewählten Emojis werden für jedes App-Level in den gemeinsamen Einstellungen gespeichert.
  • In der Auswahl werden maximal 3 Zeilen ausgewählter Emojis ohne Duplikate 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 trotzdem problemlos.

Bibliothek verwenden

Um die Bibliothek zu verwenden, sollten App-Entwickler

  1. Importieren Sie androidx.emoji2:emojipicker:$version in build.gradle.

    dependencies {
      implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. Maximieren Sie die Emoji-Auswahlansicht und legen Sie optional emojiGridRows und emojiGridColumns je nach gewünschter Größe der einzelnen Emoji-Zellen fest

    • Sie können sie nicht konfigurieren. Die Standardeinstellung ist 9 emojiGridColumns. Die Zeilen werden anhand der Höhe der übergeordneten Ansicht und von emojiGridColumns berechnet.
    • Du kannst emojiGridRows als Gleitkommazahl festlegen, um anzuzeigen, dass es weitere Emojis gibt, wenn du nach unten scrollst als XML
     <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 Sie die ausgewählten Emojis an einen EditText anhängen möchten, verwenden Sie 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. Passen Sie die Stile bei Bedarf an. Erstellen Sie Ihren eigenen Stil, um allgemeine Designattribute zu überschreiben, und wenden Sie den Stil auf EmojiPickerView an. Wenn Sie beispielsweise colorControlNormal überschreiben, ändert sich die Farbe des Kategoriesymbols.

      <style name="CustomStyle" >
          <item name="colorControlNormal">#FFC0CB</item>
      </style>
      <androidx.emoji2.emojipicker.EmojiPickerView
          android:id="@+id/emoji_picker"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:theme="@style/CustomStyle"
          app:emojiGridColumns="9" />
    

Eine Beispiel-Implementierung 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 angepasst, weil emojiGridRows und emojiGridColumns zurückgesetzt wurden.
  • Der Anbieter der zuletzt verwendeten Emojis wird überschrieben, um nach der Häufigkeit zu sortieren.
  • Stilanpassung.

API-Änderungen

Die Emoji-Auswahlbibliothek wurde mit den folgenden neuen APIs aktualisiert:

  • Die EmojiPickerView-Klasse, die aktuelle Emojis in einer vertikalen scrollbaren Ansicht mit anklickbarer horizontaler Kopfzeile bereitstellt.
  • Die Möglichkeit, die Anzahl der Spalten und Zeilen im Emoji-Auswahlraster über die XML-Attribute emojiGridColumns und emojiGridRows oder die Methoden setEmojiGridColumns() und setEmojiGridRows() festzulegen.
  • Die Möglichkeit, über die Methode setOnEmojiPickedListener() einen Listener für ein ausgewähltes Emoji festzulegen. Der Listener wird jedes Mal 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 Mediathek ein standardmäßiger Emoji-Anbieter verwendet. Das Standardverhalten ist so definiert: <ph type="x-smartling-placeholder">
      </ph>
    • Alle ausgewählten Emojis werden für jedes App-Level in den gemeinsamen Einstellungen gespeichert.
    • In der Auswahl werden maximal 3 Zeilen ausgewählter Emojis ohne Duplikate in umgekehrter chronologischer Reihenfolge angezeigt.
  • Die Klasse EmojiViewItem, die das angezeigte Emoji und seine Emoji-Varianten enthält.
  • Die RecentEmojiProvider-Oberfläche, die implementiert werden kann, um eine Liste mit aktuellen Emojis bereitzustellen. recentEmojiProvider ist für die Bereitstellung von Emojis in der Kategorie „Zuletzt verwendet“ verantwortlich.
  • Die RecentEmojiAsyncProvider-Oberfläche, die implementiert werden kann, um eine Liste mit aktuellen Emojis bereitzustellen. RecentEmojiAsyncProvider ist für die Bereitstellung von Emojis in der Kategorie „Zuletzt verwendet“ verantwortlich. Diese Schnittstelle entspricht RecentEmojiProvider, mit der Clients die getRecentEmojiListAsync()-Methode überschreiben können, um aktuelle Emojis bereitzustellen.
  • Die Klasse RecentEmojiProviderAdapter, die ein Adapter für die RecentEmojiAsyncProvider ist und RecentEmojiProvider implementiert.

Version 1.4.0-alpha01

22. März 2023

androidx.emoji2:emoji2-*:1.4.0-alpha01 wurde veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.

Fehlerkorrekturen

  • Korrigieren Sie Tests, deaktivieren Sie Flockentests und Bereinigungen.

Version 1.3

Version 1.3.0

22. März 2023

androidx.emoji2:emoji2-*:1.3.0 wurde veröffentlicht. Version 1.3.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.2.0

  • In dieser Version kann Compose Foundation 1.4.0 und höher die Emoji2-Integration aktivieren.
  • Außerdem werden Funktionen zum Ersetzen von EmojiSpans durch benutzerdefinierten Code zum Zeichnen unterstützt und unter Android definierte Emoji-Ausschlüsse werden unterstützt.

Version 1.3.0-rc01

8. März 2023

androidx.emoji2:emoji2-*:1.3.0-rc01 wurde veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.

Neue Funktionen

  • Diese Version unterstützt die Einbindung von Emoji2.

API-Änderungen

  • Ersetzen Sie Spans für benutzerdefinierten Code zum Zeichnen.
  • Systemausschlüsse abfragen.

Fehlerkorrekturen

  • Außerdem wurde ein Fehler behoben, bei dem Hintergrundspannen 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 wurde veröffentlicht. Version 1.3.0-beta03 enthält diese Commits.

Neue Funktionen

  • Keine Änderungen Mit dieser Version wird die Integration des Editors vorbereitet.

Version 1.3.0-beta02

8. Februar 2023

androidx.emoji2:emoji2-*:1.3.0-beta02 wurde veröffentlicht. Version 1.3.0-beta02 enthält diese Commits.

Neue Funktionen

  • Diese Version ist Stabilisierung zur Unterstützung der Integration von „Schreiben“.

Version 1.3.0-beta01

25. Januar 2023

androidx.emoji2:emoji2-*:1.3.0-beta01 wurde 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 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 Schreiben von Emojis mit Unterstützung für Emojis unterstützt.

Version 1.3.0-alpha01

11. Januar 2023

androidx.emoji2:emoji2-*:1.3.0-alpha01 wurde veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.

Neue APIs für Low-Level-Interaktionen

  • Systemausschlüsse abfragen
  • Ersetzen der Spans für benutzerdefinierten Zeichencode
  • Außerdem wurde ein Fehler behoben, bei dem Hintergrundspannen 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 Schreiben von Emojis mit Unterstützung für Emojis unterstützt.

API-Änderungen

  • Möglichkeit zum Abfragen von Systemausschlüssen zu TypefaceEmojiRasterizer hinzugefügt. (I5653e)
  • Neue API EmojiCompat.SpanFactory zum Ersetzen des standardmäßigen EmojiSpan-Verhaltens durch benutzerdefinierten Zeichen- und Größencode hinzugefügt. (Ib69d9)
  • EmojiCompat zu Editor hinzugefügt (I96f37, b/139326806)

Fehlerkorrekturen

Version 1.2

Version 1.2.0

10. August 2022

androidx.emoji2:emoji2-*:1.2.0 wurde veröffentlicht. Version 1.2.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.1.0

Dies ist eine Fehlerkorrektur. Seit Version 1.1.0 wurden keine neuen Funktionen oder APIs hinzugefügt.

Apps, die PrecomputedText oder TextView.setText(char[]) verwenden, sollten jedoch bevor ihr sie auf diese Version stößt.

Folgende Fehler wurden behoben:

  • Emoji2 fügt PrecomputedText Emojis hinzu, indem das zuvor berechnete Textlayout verworfen wird. (I47d06, b/211231958)
  • Fehlerkorrektur für den Absturz des Backport-Editors von Android P auf EditText, der für die Verwendung von Emoji2 konfiguriert ist. (Ifd709, b/216891011)
  • Absturz behoben, der auftrat, wenn Emoji2 die Schriftart geladen und TextView.setText(char[]) verwendet wurde. (Id511e, b/206859724)

Version 1.2.0-rc01

27. Juli 2022

androidx.emoji2:emoji2-*:1.2.0-rc01 wurde 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 wurde veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.

Neue Funktionen

  • Keine Änderungen gegenüber der letzten Version (diese Version unterstützt die AppCompat-Version).

Version 1.2.0-alpha04

20. April 2022

androidx.emoji2:emoji2-*:1.2.0-alpha04 wurde veröffentlicht. Version 1.2.0-alpha04 enthält diese Commits.

Neue Funktionen

  • Keine Änderungen in dieser Version.

Version 1.2.0-alpha03

6. April 2022

androidx.emoji2:emoji2-*:1.2.0-alpha03 wurde veröffentlicht. Version 1.2.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Keine Änderungen gegenüber der letzten Version (diese Version unterstützt die Appcompat-Version).

Version 1.2.0-alpha02

23. März 2022

androidx.emoji2:emoji2-*:1.2.0-alpha02 wurde veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.

Fehlerkorrekturen

  • Emoji2 fügt PrecomputedText Emojis hinzu, indem das zuvor berechnete Textlayout verworfen wird. (I47d06, b/211231958)
  • Fehlerkorrektur für den Absturz des Backport-Editors von Android P zu EditText, das für die Verwendung von Emoji2 konfiguriert ist. (Ifd709, b/216891011)
  • Absturz behoben, der auftrat, wenn Emoji2 die Schriftart geladen und TextView.setText(char[]) verwendet wurde. (Id511e, b/206859724)

Version 1.2.0-alpha01

23. Februar 2022

androidx.emoji2:emoji2-*:1.2.0-alpha01 wurde 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 wurde veröffentlicht. Version 1.1.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.0.0

  • Das Emoji2-Set enthält die Schriftart Emoji 14.
  • Die neue getEmojiMatch API gibt genaue Informationen für Tastaturen zurück, um zu entscheiden, wie ein Emoji bei einer Emoji-kompatiblen Schriftart angezeigt wird, die sich hinter der Systemschrift befindet
  • Fehlerkorrektur für NumberKeyListener, durch die Zeichen mithilfe der Zifferneingabe korrekt gefiltert werden.

Version 1.1.0-rc01

9. Februar 2022

androidx.emoji2:emoji2-*:1.1.0-rc01 wurde veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.

Neue Funktionen

Keine Änderungen gegenüber Beta.

Neue Funktionen im Vergleich zu Emojis2 1.0.0:

  • emoji2-bundled enthält Emoji 14.
  • Die neue getEmojiMatch API gibt genaue Informationen für Tastaturen zurück, um zu entscheiden, wie ein Emoji bei einer Emoji-kompatiblen Schriftart angezeigt wird, die sich hinter der Systemschrift befindet
  • Fehlerkorrektur für NumberKeyListener, durch die Zeichen mithilfe der Zifferneingabe korrekt gefiltert werden

Version 1.1.0-beta01

26. Januar 2022

androidx.emoji2:emoji2-*:1.1.0-beta01 wurde veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.

Fehlerkorrekturen

  • androidx-emoji2 beta01 veröffentlichung. Keine Änderungen gegenüber alpha01 (Ic61d9)

Version 1.1.0-alpha01

15. Dezember 2021

androidx.emoji2:emoji2-*:1.1.0-alpha01 wurde veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.

Neue Funktionen

  • emoji2-bundled enthält Emoji 14.
  • Die neue getEmojiMatch API gibt genaue Informationen für Tastaturen zurück, um zu entscheiden, wie ein Emoji bei einer Emoji-kompatiblen Schriftart angezeigt wird, die sich hinter der Systemschrift befindet
  • Fehlerkorrektur für NumberKeyListener, durch die Zeichen mithilfe der Zifferneingabe korrekt gefiltert werden

API-Änderungen

  • Neue API getEmojiMatch hinzugefügt, um Tastaturen eine genauere Suche nach Emoji-Übereinstimmungen in der Emoji-Kompatibilität zu ermöglichen.
  • hasEmojiGlyph verwerfen, da der boolesche Rückgabewert beim Testen mit einer Schriftart, die älter als die Plattform-Emoji-Schriftart ist, ungenau ist. Durch getEmojiMatch ersetzen. (IE693d)

Fehlerkorrekturen

  • Emoji2 umschließt keine Instanzen von NumberKeyListener, sodass die Sprache von TextView konfiguriert werden kann.
  • Instanzen von NumberKeyListener, die an setKeyListener übergeben wurden, werden von Appcompat nicht zusammengefasst, sodass TextView die Sprache für NumberKeyListeners korrekt konfigurieren kann. (Ibf113, b/207119921)

1.0

Version 1.0.1

15. Dezember 2021

androidx.emoji2:emoji2-*:1.0.1 wurde veröffentlicht. Version 1.0.1 enthält diese Commits.

Fehlerkorrekturen

  • Emoji2 umschließt keine Instanzen von NumberKeyListener, sodass die Sprache von TextView konfiguriert werden kann.
  • Instanzen von NumberKeyListener, die an setKeyListener übergeben wurden, werden von Appcompat nicht zusammengefasst, sodass TextView die Sprache für NumberKeyListeners korrekt konfigurieren kann. (Ibf113, b/207119921)

Version 1.0.0

17. November 2021

androidx.emoji2:emoji2-*:1.0.0 wurde veröffentlicht. Version 1.0.0 enthält diese Commits.

Hauptfunktionen von Version 1.0.0

androidx.emoji2 ersetzt androidx.emoji durch zusätzliche Funktionen:

  • APK-Größenreduzierung im Vergleich zu androidx.emoji
  • Automatische Konfiguration
  • Als Abhängigkeit zu appcompat 1.4 hinzugefügt

Weitere Informationen zu androidx.emoji2 findest du unter Supporting Modern Emoji und in unserem Vortrag vom Android Dev Summit Alle Emojis in deiner Android Dev App anzeigen.

Version 1.0.0-rc01

27. Oktober 2021

androidx.emoji2:emoji2-*:1.0.0-rc01 wurde 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 wurde veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.

API-Änderungen

  • setLoadingExecutor“ zu „FontRequestEmojiCompatConfig“ hinzugefügt, die die vorherige API von setHandler ersetzt. Mit dieser API können Apps Konfigurieren Sie FontRequestEmojiCompatConfig so, dass ein beliebiger Hintergrund-Executor verwendet wird.

    Diese funktionsgefährdende Änderung gegenüber androidx.emoji:emoji ist setHandler wird als veraltete API beibehalten, um die Migration zu vereinfachen. (I6cd48)

  • EmojiCompat legt EditorInfo.extras unter Android 11 korrekt fest

    • Benutzerdefinierte Widgets, die IME verwenden und keine abgeleiteten Klassen von EditText verwenden, können EmojiCompat.updateEditorInfo, um IME darüber zu informieren, dass sie unterstützt werden EmojiCompat wird verarbeitet. (I1ea9b)

Fehlerkorrekturen

  • Korrigieren Sie DefaultEmojiCompatConfig, damit die Emoji-Schriftart richtig gesucht wird API 19 und 28 an. Dadurch wird ein Fehler in Emoji2 behoben. 1.0.0-alpha01. (Ib33d8, b/197906329)

Version 1.0.0-alpha03

30. Juni 2021

androidx.emoji2:emoji2-*:1.0.0-alpha03 wurde veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.

Neue Funktionen

Diese Version ist eine Fehlerkorrektur und eine Stabilisierungsversion.

  1. EmojiEditTextHelper lässt jetzt zu, dass null als KeyListener übergeben wird. Dadurch können auf der Plattform NULL-Werte auf Emojis angewendet werden, die EditText-Implementierungen unterstützen.
  2. Bei Verwendung von EmojiCompatInitializer wird die anfängliche Startverzögerung so verbessert, dass sie ausgelöst wird, wenn die erste Aktivität fortgesetzt wird. Auf diese Weise wird beim Starten der App ein ungewollter Start verhindert und es wird vermieden, dass die Schriftart für App-Starts geladen wird, 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 von androidx.emoji2:emoji2 wird hinzugefügt, um die Verzögerung zu implementieren. Bei Apps mit bereits vorhandenem Lebenszyklus (z. B. Apps mit app-kompatibel) wird dies nur eine geringe Auswirkung auf die APK-Größe haben.

API-Änderungen

  • Null-KeyListener in AppCompatEditText zulassen Dadurch wird der Nicht-Null-Annotation, die zu AppCompatEditText in 1.4.0-alpha01 hinzugefügt wurde und es wird das vorherige Verhalten wiederhergestellt, wenn null übergeben wird. (I21482, b/189559345)

Fehlerkorrekturen

  • EmojiCompatInitializer so ändern, dass Schriftart verzögert geladen wird 500 ms nach dem ersten Activity.onResume. So kann eine Aktivität Application.onCreate und Activity.onCreate nicht konkurrieren lassen, während dass die Emoji-Schriftart kurz nach dem App-Start 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 umbenannt in androidx.emoji2.viewsintegration. Diese funktionsgefährdende Änderung AppCompat 1.4.0-alpha01 und Apps müssen die AppCompat-Abhängigkeit für die Verwendung aktualisieren die neue Emoji2-Version. (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 Einbindung von EmojiCompat wird für alle Apps empfohlen, um moderne Emojis von API19 zu unterstützen. Alle von Nutzern erstellten Inhalte in deiner App enthalten das Symbol 🎉.

EmojiCompat wurde von den androidx.emoji-Artefakten in das neue androidx.emoji2 verschoben, das sich jetzt in der Alphaphase01 befindet. Die neuen Artefakte ersetzen die vorherige Version.

emoji2 wird als Abhängigkeit zu AppCompat ab AppCompat 1.4.0-alpha01 hinzugefügt und ist standardmäßig für AppCompat-Ansichten aktiviert.

Mit dem Artefakt emoji2 wird eine neue automatische Konfiguration mithilfe der Bibliothek androidx.startup eingeführt. Du musst dann keinen 👨🏽 💻 Code mehr schreiben, um zu zeigen bestatten ❄️.

Änderungen bei Emojis2 durch Emojis

  • Neue automatische Konfiguration EmojiCompatInitializer mit androidx.startup hinzugefügt.
  • Es wurde eine neue Standardkonfiguration hinzugefügt, die den Dienststandort verwendet, um in DefaultEmojiCompatConfiguration einen Anbieter für Schriftarten zum Herunterladen zu finden.
  • Die Klassen wurden vom Paket „androidx.emoji“ nach „androidx.emoji2“ verschoben.
  • Teilen Sie EmojiTextView und zugehörige Ansichten in ein separates Artefakt emoji2-views auf. Diese Option sollte nur verwendet werden, wenn Ihre App appcompat nicht verwendet.
  • Es wurden Hilfsfunktionen für die Integration von Emoji-Kompatibilität in benutzerdefinierte Ansichten in einem separaten Artefakt emoji2-views-helper extrahiert.
  • Anmerkungen zur Null-Zulässigkeit hinzugefügt.
  • Hilfsprogramme in emoji2-views-helper können jetzt auch verwendet werden, wenn EmojiCompat nicht initialisiert ist (zuvor wurde 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, müssen EmojiTextView und ähnliche Klassen von emoji2-views verwenden.

Unterstützung in benutzerdefinierten Ansichten

  • Apps mit AppCompat sollten AppCompatTextView, AppCompatButton usw. statt Plattform TextView usw. erweitern.
  • Apps ohne AppCompat sollten eine 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 und Sie können dann eine benutzerdefinierte Konfiguration an EmojiCompat.init übergeben. Die Standardkonfiguration für das System kann DefaultEmojiCompatConfig.create(context) zur weiteren Konfiguration abgerufen werden, bevor sie an EmojiCompat.init übergeben wird.