Emoji2

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

Abhängigkeiten deklarieren

Wenn Sie eine Abhängigkeit von Emoji2 hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

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

Groovy

dependencies {
    def emoji2_version = "1.5.0"

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

Kotlin

dependencies {
    val emoji2_version = "1.5.0"

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

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

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Teilen Sie uns mit, wenn Sie neue Ausgaben entdecken oder Verbesserungsvorschläge für diese Bibliothek haben. Bitte sieh dir die vorhandenen Probleme in dieser Bibliothek an, bevor du eine neue erstellst. Sie können einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Emoji2 Emojipicker Version 1.0

Version 1.5.0

4. September 2024

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

Wichtige Änderungen seit Version 1.4.0

  • Unterstützung von Emoji 15.1 und der Benutzeroberfläche für die bidirektionale Emoji-Auswahl Mit einem einfachen Klick auf den bidirektionalen Schalter können Nutzer zwischen nach links und nach rechts gerichteten Emojis wechseln.
  • Unterstützung für die Auswahl von Emojis mit unterschiedlichen Hauttönen Wenn Sie lange auf Emojis für Paare drücken, wird eine Emoji-Auswahl für mehrere Personen angezeigt. Wenn der Nutzer auf die linke Hälfte eines Emojis tippt, wird die Emoji-Vorschau unten rechts entsprechend aktualisiert. Wenn der Nutzer beide Hälften eines Emojis auswählt, wird in der Emoji-Vorschau unten rechts das vollständige Emoji angezeigt, das der Nutzer dann eingeben kann.

Version 1.0.0-alpha03

8. März 2023

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

Fehlerkorrekturen

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

Version 1.0.0-alpha02

22. Februar 2023

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

API-Änderungen

  • Neue API für Java-Clients hinzugefügt, um aktuelle Emojis bereitzustellen. (I39d10)

Fehlerkorrekturen

  • Emoji-Ressourcen für die Unterstützung von Emoji 15.0 (Ib4eb3) aktualisieren
  • Wenn Sie ein Emoji aus dem Pop-up-Fenster auswählen, werden alle identischen Emojis durch das neu ausgewählte Emoji ersetzt, mit Ausnahme der Zeile mit den zuletzt verwendeten Emojis. Das Emoji soll auch beim Klicken angesagt werden. (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

  • Einführung einer Emoji-Auswahl, die eine einheitliche Nutzererfahrung mit den neuesten Emojis auf OEM-Geräten und in Apps mit Android-Betriebssystem 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 EmojiPickerView-Klasse, die aktuelle Emojis in einer vertikal scrollbaren Ansicht mit einem anklickbaren horizontalen Header bietet.
  • Die Rasterspalten für die Emoji-Auswahl können über das XML-Attribut emojiGridColumns oder die Funktion setEmojiGridColumns() festgelegt werden.
  • Die Zeilen des Emoji-Auswahl-Rasters 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. Diese Funktion ist optional. Wenn der Anbieter der letzten Emojis nicht festgelegt ist, wird von der Bibliothek ein Standardanbieter für die letzten Emojis verwendet. Das Standardverhalten ist so definiert: 1) Alle ausgewählten Emojis werden in den gemeinsamen Einstellungen auf App-Ebene gespeichert. 2) Die Auswahl zeigt maximal drei Zeilen ausgewählter Emojis in umgekehrter chronologischer Reihenfolge an. Dabei werden doppelte Emojis entfernt.
  • 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 der zuletzt verwendeten Emojis anzuzeigen. 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 wird veröffentlicht. Version 1.5.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.4.0

  • Unterstützung von Emoji 15.1 und der Benutzeroberfläche für die bidirektionale Emoji-Auswahl Mit einem einfachen Klick auf den bidirektionalen Schalter können Nutzer zwischen nach links und nach rechts gerichteten Emojis wechseln.
  • Unterstützung für die Emoji-Auswahl mit mehreren Hauttönen Wenn Sie lange auf Emojis für Paare drücken, wird eine Emoji-Auswahl für mehrere Personen angezeigt. Wenn der Nutzer auf die linke Hälfte eines Emojis tippt, wird die Emoji-Vorschau unten rechts entsprechend aktualisiert. Wenn der Nutzer beide Hälften eines Emojis auswählt, wird in der Emoji-Vorschau rechts unten das vollständige Emoji angezeigt, das der Nutzer dann eingeben kann.

Version 1.5.0-rc01

21. August 2024

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

Neue Funktionen

  • Unterstü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 Emoji-Version wechseln.
  • Unterstützung für die Auswahl von Emojis mit unterschiedlichen Hauttönen Wenn Sie lange auf Emojis für Paare drücken, wird eine Emoji-Auswahl für mehrere Personen angezeigt. Wenn der Nutzer auf die linke Hälfte eines Emojis tippt, wird die Emoji-Vorschau unten rechts entsprechend aktualisiert. Wenn der Nutzer beide Hälften eines Emojis auswählt, wird in der Vorschau das gesamte Emoji angezeigt und der Nutzer kann es dann eingeben.

Fehlerkorrekturen

  • Die manuelle 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 Tab-Auswahl und der Indikator von EmojiPickerView werden erst nach einem Klick aktualisiert. (146b02, b/288261054)
  • Die Tab-Auswahl und der Indikator von EmojiPickerView funktionieren nicht. (5e1f14, b/273883688)

Version 1.5.0-beta01

10. Juli 2024

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

Neue Funktionen

  • Unterstützung von Emoji 15.1 und bidirektionaler Emoji-Auswahl
  • Unterstützung für die Neugestaltung der Auswahl mehrerer Hauttöne.

Fehlerkorrekturen

  • Die Tab-Auswahl und der Indikator von EmojiPickerView werden erst nach einem Klick aktualisiert. (146b02, b/288261054)
  • Die Tab-Auswahl und der Indikator von EmojiPickerView funktionieren nicht. (5e1f14, b/273883688)

Version 1.5.0-alpha01

13. Dezember 2023

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

Neue Funktionen

  • emoji2-bundled enthält eine aktualisierte Emoji-Schriftart, die Emoji 15.1 unterstützt.

API-Änderungen

  • Fügen Sie Executors hinzu, um den Rückruf-Thread für InitCallback zu steuern. (I32b67)
  • BundledEmojiCompatConfig verwendet jetzt einen Executor, um Ladethreads zu steuern. (I00e81)

Version 1.4

Version 1.4.0

9. August 2023

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

Wichtige Änderungen seit Version 1.3.0

Version 1.4.0-rc01

26. Juli 2023

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

API-Änderungen

  • Einführung der Liste registerSource (Iae92f)
  • API Council-Feedback: TransitionManager.seekTo() wurde in createSeekController() umbenannt. Bitte korrigieren Sie den vorherigen Kommentar zum Hinzufügen von TransitionManager.seekTo() zu TransitionManager.createSeekController(). (Idbeb1)
  • ExerciseRouteResult wurde hinzugefügt, was nicht die Superklasse 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 eingeführt, die Informationen zu einer einzelnen gemessenen Seite im 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)
  • Die Tab-Auswahl und der Indikator von EmojiPickerView wurden um einen Klick verschoben. (I4db04)
  • FileNotFoundException zum Einblenden der Emoji-Auswahl (I353e4)
  • WindowManager.BadTokenException bei Verwendung von EmojiPickerView erfassen (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 wird veröffentlicht. Version 1.4.0-beta04 enthält diese Commits.

In dieser Version wird ein Fehler behoben, der seit Version 1.0 bestand. Bei Ansichten mit einem nicht primären Handler wurde beim Versuch, die Emoji-Abschnitte nach Abschluss des Schriftartenladens zu aktualisieren, eine Ausnahme ausgelöst. Es gibt keine Problemumgehung. Wenn Sie von diesem Fehler betroffen sind, führen Sie ein Upgrade auf diese Version oder eine neuere Version durch.

Fehlerkorrekturen

  • EmojiCompat Bei Init-Callbacks wird jetzt der Handler aus jeder Ansicht verwendet. Dabei werden auch Ansichten berücksichtigt, die sich nicht im Hauptthread befinden. (Iccbcf)

Version 1.4.0-beta03

10. Mai 2023

androidx.emoji2:emoji2-*:1.4.0-beta03 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)
  • Ausnahmen sollten früh in der EmojiCompat getEmojiStart/getEmojiEnd ausgegeben werden. (26177f)

Version 1.4.0-beta02

19. April 2023

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

Fehlerkorrekturen

  • Lint-Baseline-Dateien aktualisieren (Iaa212)

Version 1.4.0-beta01

5. April 2023

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

Neue Funktionen

androidx.emoji2:emoji2-emojipicker

Die Emoji-Auswahl ist eine UI-Lösung, die ein modernes Design, aktuelle Emojis und eine einfache Bedienbarkeit bietet. Nutzer können Emojis und ihre Varianten durchsuchen und auswählen oder aus den kürzlich verwendeten Emojis auswählen. Mit dieser Bibliothek können Apps verschiedener OEMs ihren Nutzern eine inklusive und einheitliche Emoji-Oberfläche bieten, ohne dass die Entwickler ihre eigene Emoji-Auswahl von Grund auf erstellen und verwalten müssen.

Aktuelle Emojis

Jedes Jahr werden neue Emojis veröffentlicht, die wir gezielt in die Emoji-Auswahl aufnehmen. Um die Abwärtskompatibilität zu gewährleisten, führen wir intern eine genaue Prüfung der Emoji-Darstellbarkeit durch, um Tofu zu vermeiden. So ist die Bibliothek mit mehreren Android-Versionen und -Geräten kompatibel.

Fixierte Varianten

Wenn Sie lange auf ein Emoji drücken, wird ein Menü mit Varianten angezeigt, z. B. mit verschiedenen Geschlechtern oder Hauttönen. Die von Ihnen ausgewählte Variante wird in der Emoji-Auswahl gespeichert. Die zuletzt ausgewählte Variante wird im Hauptbereich verwendet. Mit dieser Funktion können Nutzer ihre bevorzugten Emoji-Varianten mit nur einmal tippen senden.

Zuletzt verwendete Emojis

Der RecentEmojiProvider ist für die Bereitstellung von Emojis in der Kategorie „Kürzlich verwendet“ verantwortlich. Die Bibliothek hat einen Standardanbieter für aktuelle Emojis, der den häufigsten Anwendungsfall abdeckt:

  • Alle ausgewählten Emojis werden in den gemeinsamen Einstellungen auf App-Ebene gespeichert.
  • Die Auswahl zeigt maximal drei Zeilen mit ausgewählten Emojis an, die in umgekehrter chronologischer Reihenfolge dedupliziert werden.

Wenn dieses Standardverhalten ausreicht, müssen Sie die Methode setRecentEmojiProvider() nicht festlegen.

Mit EmojiCompat arbeiten

Wenn die App eine EmojiCompat-Instanz hat, wird sie in der Emoji-Auswahl verwendet, um möglichst viele Emojis zu rendern. Wenn EmojiCompat deaktiviert ist, funktioniert die Emoji-Auswahl weiterhin.

Bibliothek verwenden

Um die Bibliothek zu verwenden, sollten App-Entwickler

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

    dependencies {
      implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. Maximieren Sie die Ansicht der Emoji-Auswahl und legen Sie optional emojiGridRows und emojiGridColumns entsprechend der gewünschten 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.
    • Sie können emojiGridRows als Float festlegen, um anzugeben, dass es weitere Emojis gibt, wenn man in der XML-Datei nach unten scrollt.
     <androidx.emoji2.emojipicker.EmojiPickerView
      android:id="@+id/emoji_picker"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      app:emojiGridColumns="9" />
    

in 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. Sie können die Stile optional anpassen. Erstellen Sie einen eigenen Stil, um gängige Designattribute zu überschreiben, und wenden Sie den Stil auf die 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 Beispielimplementierung finden Sie in der Beispielanwendung.

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 zuletzt verwendete Emoji-Anbieter wird überschrieben, um nach Häufigkeit zu sortieren.
  • Stilanpassung

API-Änderungen

Die Emoji-Auswahl-Bibliothek wurde um die folgenden neuen APIs erweitert:

  • Die EmojiPickerView-Klasse, die aktuelle Emojis in einer vertikal scrollbaren Ansicht mit einem anklickbaren horizontalen Header bietet.
  • Die Möglichkeit, die Anzahl der Spalten und Zeilen im Emoji-Auswahl-Raster über die XML-Attribute emojiGridColumns und emojiGridRows oder die Methoden setEmojiGridColumns() und setEmojiGridRows() festzulegen.
  • Es ist möglich, über die Methode setOnEmojiPickedListener() einen Listener für die Auswahl von Emojis festzulegen. Der Listener wird benachrichtigt, wenn der Nutzer auf ein Emoji klickt.
  • Die Möglichkeit, über die Methode setRecentEmojiProvider() einen aktuellen Emoji-Anbieter anzugeben. Diese Funktion ist optional. Wenn der Anbieter der letzten Emojis nicht festgelegt ist, wird von der Bibliothek ein Standardanbieter für die letzten Emojis verwendet. Das Standardverhalten ist so definiert:
    • Alle ausgewählten Emojis werden in den gemeinsamen Einstellungen auf App-Ebene gespeichert.
    • In der Auswahl werden maximal drei Zeilen mit ausgewählten Emojis in umgekehrter chronologischer Reihenfolge angezeigt. Dabei werden doppelte Emojis entfernt.
  • Die Klasse EmojiViewItem, die das angezeigte Emoji und seine Emoji-Varianten enthält.
  • Die RecentEmojiProvider-Oberfläche, die implementiert werden kann, um eine Liste der zuletzt verwendeten Emojis anzuzeigen. Der recentEmojiProvider ist für die Bereitstellung von Emojis in der Kategorie „Kürzlich verwendet“ verantwortlich.
  • Die RecentEmojiAsyncProvider-Oberfläche, die implementiert werden kann, um eine Liste der zuletzt verwendeten Emojis anzuzeigen. Der RecentEmojiAsyncProvider ist für die Bereitstellung von Emojis in der Kategorie „Kürzlich 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 wird 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 können Sie damit EmojiSpans durch benutzerdefinierten Zeichencode ersetzen und Emoji-Ausschlüsse auf Android-Geräten unterstützen.

Version 1.3.0-rc01

8. März 2023

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

Neue Funktionen

  • Diese Version unterstützt die Integration von emoji2 compose.

API-Änderungen

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

Fehlerkorrekturen

  • Außerdem wurde ein Fehler behoben, durch den Hintergrundbereiche hinter EmojiSopans nicht richtig angewendet wurden.

Version 1.3.0-beta03

23. Februar 2023

androidx.emoji2:emoji2-bundled:1.3.0-beta03, androidx.emoji2:emoji2-views:1.3.0-beta03 und androidx.emoji2:emoji2-views-helper:1.3.0-beta03 werden losgelassen.

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 Diese Version dient der Vorbereitung auf die Compose-Integration.

Version 1.3.0-beta02

8. Februar 2023

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

Neue Funktionen

  • Diese Version dient der Stabilisierung zur Unterstützung der Compose-Integration.

Version 1.3.0-beta01

25. Januar 2023

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

Neue Funktionen

  • Abfrage von Systemausschlüssen
  • Ersetzen Sie die Spans durch benutzerdefinierten Zeichencode.
  • Außerdem wurde ein Fehler behoben, 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. In einer zukünftigen Version wird die Unterstützung für Emojis beim Verfassen von Nachrichten erwartet.

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, durch den Hintergrundbereiche hinter EmojiSopans nicht richtig angewendet wurden.
  • In dieser Version werden APIs hinzugefügt, die für die Unterstützung von EmojiCompat in Compose erforderlich sind. In einer zukünftigen Version wird die Unterstützung für Emojis beim Verfassen von Nachrichten erwartet.

API-Änderungen

  • TypefaceEmojiRasterizer kann jetzt auch Systemausschlüsse abfragen. (I5653e)
  • Neue API EmojiCompat.SpanFactory hinzugefügt, um das Standardverhalten von EmojiSpan durch benutzerdefinierten Code zum Zeichnen und Ändern der Größe zu ersetzen. (Ib69d9)
  • EmojiCompat wurde zum Verfassen hinzugefügt (I96f37, b/139326806)

Fehlerkorrekturen

Version 1.2

Version 1.2.0

10. August 2022

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

Wichtige Änderungen seit Version 1.1.0

Dies ist ein Release mit Fehlerkorrekturen. Seit Version 1.1.0 wurden keine neuen Funktionen oder APIs hinzugefügt.

Für Apps, die PrecomputedText oder TextView.setText(char[]) verwenden, sollte jedoch die Umstellung auf diese Version priorisiert werden.

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 beim Laden der Schriftart durch emoji2 und der Verwendung von TextView.setText(char[]) auftrat. (Id511e, b/206859724)

Version 1.2.0-rc01

27. Juli 2022

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

  • Keine Änderungen seit der letzten Betaversion.

Version 1.2.0-beta01

13. Juli 2022

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

Neue Funktionen

  • Keine Änderungen gegenüber der letzten Version. Diese Version dient der Unterstützung der AppCompat-Version.

Version 1.2.0-alpha04

20. April 2022

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

Neue Funktionen

  • 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 dient der Unterstützung der App-Kompatibilitätsversion.

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)
  • Backport-Fehlerbehebung für Editor-Abstürze von Android P auf EditText, das für die Verwendung von emoji2 konfiguriert ist. (Ifd709, b/216891011)
  • Absturz behoben, der beim Laden der Schriftart durch emoji2 und Verwendung von TextView.setText(char[]) auftrat. (Id511e, b/206859724)

Version 1.2.0-alpha01

23. Februar 2022

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

Keine Änderungen seit Version 1.1.0.

1,1

Version 1.1.0

23. Februar 2022

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

Wichtige Änderungen seit Version 1.0.0

  • emoji2-bundled enthält die Emoji 14-Schriftart
  • Die neue getEmojiMatch API gibt genaue Informationen für Tastaturen zurück, um zu entscheiden, wie ein Emoji angezeigt wird, wenn ein Emoji-kompatibler Schriftschnitt hinter dem Systemschriftschnitt verwendet wird.
  • Fehlerkorrektur für NumberKeyListener, durch die Zeichen bei der Eingabe von Ziffern richtig herausgefiltert 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 emoji2 1.0.0:

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

Version 1.1.0-beta01

26. Januar 2022

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

Fehlerkorrekturen

  • androidx-emoji2-Betaversion 01 Keine Änderungen gegenüber Alpha01 (Ic61d9)

Version 1.1.0-alpha01

15. Dezember 2021

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

Neue Funktionen

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

API-Änderungen

  • Neue API getEmojiMatch hinzufügen, damit Tastaturen das Emoji-Abgleichsverhalten in emojicompat genauer abrufen können
  • hasEmojiGlyph wird eingestellt, da der boolesche Rückgabewert bei einem Test mit einer Schrift, die älter als die Emoji-Schrift der Plattform ist, ungenau ist. Ersetzen Sie getEmojiMatch. (Ie693d)

Fehlerkorrekturen

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

1.0

Version 1.0.1

15. Dezember 2021

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

Fehlerkorrekturen

  • Emoji2 umschließt keine Instanzen von NumberKeyListener, sodass die Sprache von TextView konfiguriert werden kann.
  • Appcompat umschließt keine Instanzen von NumberKeyListener, die an setKeyListener übergeben werden. So kann TextView das Gebietsschema für NumberKeyListeners korrekt konfigurieren. (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.

Wichtige Funktionen von 1.0.0

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

  • 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 Moderne Emojis unterstützen und in unserem Vortrag ALLE Emojis in Ihrer App anzeigen auf dem Android Dev Summit.

Version 1.0.0-rc01

27. Oktober 2021

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

  • Keine Änderungen seit Beta 02.

Emoji2 Version 1.0.0-beta01

15. September 2021

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

API-Änderungen

  • setLoadingExecutor wurde zu FontRequestEmojiCompatConfig hinzugefügt und ersetzt die vorherige API setHandler. Mit dieser API können Anwendungen FontRequestEmojiCompatConfig so konfigurieren, dass ein beliebiger Hintergrund-Executor verwendet wird.

    Diese Änderung ist eine funktionsgefährdende Änderung gegenüber androidx.emoji:emoji. Daher wird setHandler als verworfene API ohne Funktion beibehalten, um die Migration zu erleichtern. (I6cd48)

  • EmojiCompat legt EditorInfo.extras unter Android 11 korrekt fest

    • Benutzerdefinierte Widgets, die eine IME verwenden, die keine EditText-Unterklasse ist, können EmojiCompat.updateEditorInfo aufrufen, um die IME darüber zu informieren, dass sie die Verarbeitung von EmojiCompat unterstützt. (I1ea9b)

Fehlerkorrekturen

  • DefaultEmojiCompatConfig wurde korrigiert, damit der Emoji-Schriftartenanbieter in API 19 und 28 korrekt ermittelt wird. Damit wird ein Fehler behoben, der in emoji2 1.0.0-alpha01 eingeführt wurde. (Ib33d8, b/197906329)

Version 1.0.0-alpha03

30. Juni 2021

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

Neue Funktionen

Diese Version enthält Fehlerkorrekturen und Stabilitätsverbesserungen.

  1. Mit EmojiEditTextHelper kann null jetzt als KeyListener übergeben werden. So kann die Plattform Nullwerte auf Emojis anwenden, 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. So kann die App ohne Konflikte gestartet werden und der Schriftschnitt wird nicht für App-Starts geladen, bei denen nie eine Benutzeroberfläche angezeigt wird. Nach einer kurzen Verzögerung erstellt EmojiCompat einen Thread zum Laden der Emoji-Schriftart.
  • Eine neue Abhängigkeit von androidx.lifecycle:lifecycle-process von androidx.emoji2:emoji2 wird hinzugefügt, um die Verzögerung zu implementieren. Bei Apps, die bereits einen Lebenszyklus enthalten (z. B. Apps mit AppCompat), hat dies nur geringe Auswirkungen auf die APK-Größe.

API-Änderungen

  • Null-KeyListener in AppCompatEditText zulassen Dadurch wird die „non-null“-Anmerkung rückgängig gemacht, die AppCompatEditText in 1.4.0-alpha01 hinzugefügt wurde, und das vorherige Verhalten wird wiederhergestellt, wenn „null“ übergeben wird. (I21482, b/189559345)

Fehlerkorrekturen

  • Ändern Sie EmojiCompatInitializer so, dass das Laden der Schriftart nach dem ersten Activity.onResume um 500 ms verzögert wird. So kann eine Aktivität Application.onCreate und Activity.onCreate ohne Konkurrenz ausführen und gleichzeitig dafür sorgen, dass die Emoji-Schrift kurz nach dem Start der App geladen wird. (I4bff7)

Version 1.0.0-alpha02

2. Juni 2021

androidx.emoji2:emoji2:1.0.0-alpha02, androidx.emoji2:emoji2-views:1.0.0-alpha02 und androidx.emoji2:emoji2-views-helper:1.0.0-alpha02 werden losgelassen. Version 1.0.0-alpha02 enthält diese Commits.

API-Änderungen

  • Das Paket in emoji2-views-helper wurde in androidx.emoji2.viewsintegration umbenannt. Dies ist eine bahnbrechende Änderung für AppCompat 1.4.0-alpha01. In Apps muss die AppCompat-Abhängigkeit aktualisiert werden, damit die neue Emoji2-Version verwendet werden kann. (Ie8397)

Version 1.0.0-alpha01

18. Mai 2021

androidx.emoji2:emoji2:1.0.0-alpha01, androidx.emoji2:emoji2-views:1.0.0-alpha01 und androidx.emoji2:emoji2-views-helper:1.0.0-alpha01 werden losgelassen. Version 1.0.0-alpha01 enthält diese Commits.

Funktionen in dieser ersten Version

Die Einbindung von emojicompat wird für alle Apps empfohlen, die moderne Emojis ab API 19 unterstützen sollen. Alle von Nutzern erstellten Inhalte in Ihrer App enthalten 🎉.

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

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

Das emoji2-Artefakt führt eine neue automatische Konfiguration mit der androidx.startup-Bibliothek ein. Du musst keinen 👨🏽‍💻 Code mehr schreiben, um 🐻‍❄️ anzuzeigen.

Änderungen in emoji2 gegenüber emoji

  • Neue automatische Konfiguration EmojiCompatInitializer mit androidx.startup hinzugefügt.
  • Neue Standardkonfiguration hinzugefügt, bei der anhand des Dienststandorts ein Anbieter für herunterladbare Schriftarten in DefaultEmojiCompatConfiguration gefunden wird.
  • Klassen wurden aus dem Paket androidx.emoji in das Paket androidx.emoji2 verschoben.
  • Teilen Sie EmojiTextView und die zugehörigen Ansichten in ein separates Artefakt emoji2-views auf. Diese Option sollte nur verwendet werden, wenn Ihre App appcompat nicht verwendet.
  • Extrahierte Hilfsfunktionen zur Einbindung von Emoji-Kompatibilität in benutzerdefinierte Ansichten in ein separates Artefakt emoji2-views-helper.
  • Anmerkungen zur Null-Zulässigkeit wurden hinzugefügt.
  • Helfer in emoji2-views-helper können jetzt auch verwendet werden, wenn EmojiCompat nicht initialisiert ist. Bisher wurde in diesem Fall eine Ausnahme ausgelöst.

Welche Abhängigkeit sollten Sie hinzufügen?

  • Apps mit AppCompat sollten auf die appcompat-Version AppCompat 1.4.0-alpha01 oder höher aktualisiert werden.
  • Apps ohne AppCompat, die TextView/EditText von der Plattform verwenden, sollten EmojiTextView und zugehörige Klassen aus emoji2-views verwenden.

Unterstützung in benutzerdefinierten Ansichten

  • Apps mit AppCompat sollten AppCompatTextView, AppCompatButton usw. erweitern, anstatt die Plattform TextView usw.
  • 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.