Emoji2

Visualizza emoji sui dispositivi attuali e meno recenti.
Aggiornamento più recente Release stabile Candidato di rilascio Versione beta Versione alpha
13 dicembre 2023 1.4.0 - - 1.5.0-alpha01

Dichiarazione delle dipendenze

Per aggiungere una dipendenza a Emoji2, devi aggiungere il Repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il Repository Maven di Google.

Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per l'app o il modulo:

Trendy

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")
}

Per ulteriori informazioni sulle dipendenze, vedi Aggiungere dipendenze di build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Contattaci se scopri nuovi problemi o hai idee per migliorare la libreria. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Crea un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Emoji Emoji 2 Versione 1.0

Versione 1.0.0-alpha03

8 marzo 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03 viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.

Correzioni di bug

  • Sono state rimosse le risorse non necessarie e le dimensioni della raccolta sono state ridotte di circa 0,3 milioni.

Versione 1.0.0-alpha02

22 febbraio 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02 viene rilasciato. La versione 1.0.0-alpha02 contiene questi commit.

Modifiche alle API

  • È stata aggiunta una nuova API per consentire ai client Java di fornire le emoji recenti. (I39d10)

Correzioni di bug

  • Aggiorna le risorse emoji per supportare le emoji 15.0 (Ib4eb3)
  • Quando scegli un'emoji dalla finestra popup, aggiorna tutte le emoji identiche all'emoji appena scelta (tranne la riga delle emoji recenti). Inoltre, annuncia l'emoji quando fai clic. (I892c6)
  • Attendi il caricamento di emojicompat prima di mostrare EmojiPickerView. (I29e03)

Versione 1.0.0-alpha01

25 gennaio 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01 viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

  • È stato introdotto un selettore di emoji che offre un'esperienza utente coerente con le emoji più recenti su dispositivi e app OEM con sistema operativo Android. Offre le più recenti funzionalità di supporto e interfaccia utente del selettore di emoji, incluse le varianti della tonalità della pelle e la compatibilità con le emoji.

Modifiche alle API

  • È stata introdotta la classe EmojiPickerView che fornisce emoji aggiornate in una visualizzazione scorrevole verticale con un'intestazione orizzontale cliccabile.
  • Le colonne della griglia del selettore di emoji possono essere impostate tramite l'attributo XML emojiGridColumns o la funzione setEmojiGridColumns().
  • Le righe della griglia del selettore di emoji possono essere impostate tramite l'attributo XML emojiGridRows o la funzione setEmojiGridRows().
  • L'emoji selezionata per l'ascolto può essere impostata tramite setOnEmojiPickedListener() e l'ascoltatore riceverà una notifica ogni volta che l'utente fa clic su un'emoji.
  • Il fornitore di emoji recente può essere fornito con setRecentEmojiProvider(). Questa è una funzione facoltativa. Se non è impostato un fornitore di emoji recenti, la raccolta utilizzerà un fornitore di emoji recente predefinito. Il comportamento predefinito è il seguente: 1) tutte le emoji selezionate verranno salvate a livello di app nelle preferenze condivise. 2) il selettore mostrerà al massimo 3 righe di emoji selezionate, deduplicate, in ordine cronologico inverso.
  • È stata introdotta la classe EmojiViewItem che contiene l'emoji visualizzata e le relative varianti.
  • È stata presentata l'interfaccia di RecentEmojiProvider, che può essere implementata per fornire un elenco di emoji recenti. recentEmojiProvider si occupa di fornire emoji nella categoria "Utilizzate di recente".

Versione 1.5

Versione 1.5.0-alpha01

13 dicembre 2023

androidx.emoji2:emoji2-*:1.5.0-alpha01 viene rilasciato. La versione 1.5.0-alpha01 contiene questi commit.

Nuove funzionalità

  • emoji2-bundled contiene un carattere emoji aggiornato per supportare Emoji 15.1.

Modifiche alle API

  • Aggiungi esecutori per controllare il thread di callback per InitCallback. (I32b67)
  • BundledEmojiCompatConfig ora utilizza un esecutore per controllare il caricamento dei thread. (I00e81)

Versione 1.4

Versione 1.4.0

9 agosto 2023

androidx.emoji2:emoji2-*:1.4.0 viene rilasciato. La versione 1.4.0 contiene questi commit.

Modifiche importanti dalla versione 1.3.0

Versione 1.4.0-rc01

26 luglio 2023

androidx.emoji2:emoji2-*:1.4.0-rc01 viene rilasciato. La versione 1.4.0-rc01 contiene questi commit.

Modifiche alle API

  • Presenta l'elenco registerSource (Iae92f)
  • Feedback del Consiglio dell'API: TransitionManager.seekTo() rinominato in createSeekController(). Modifica il commento precedente sull'aggiunta di TransitionManager.seekTo() a TransitionManager.createSeekController(). (Idbeb1)
  • È stata aggiunta la classe ExerciseRouteResult, che non è la superclasse per Data, NoData e ConsentRequiredStates. ExerciseRoute aggiunta come classe autonoma, contenente i dati sulla posizione per il percorso. (I22eed)
  • Introdotto PagerLayoutInfo con le informazioni raccolte dopo il superamento di una misura in Pager. Sono state introdotte anche le informazioni sulla pagina, ovvero le informazioni relative a una singola pagina misurata nel Pager. (Iad003, b/283098900)

Correzioni di bug

  • Abbiamo aggiornato i colori di Button, IconButton e TextButton in linea con il design di Material3. Ora il ruolo semantico per Button, IconButton e TextButton può essere sostituito utilizzando Modifier.semantics. (Ib2495)
  • La selezione della scheda e l'indicatore di EmojiPickerView si aggiornano con un clic. (I4db04)
  • FileNotFoundException sulla visualizzazione del selettore di emoji (I353e4)
  • Prendi il WindowManager.BadTokenException quando usi EmojiPickerView (I0a144)

Versione 1.4.0-beta05

7 giugno 2023

androidx.emoji2:emoji2-*:1.4.0-beta05 viene rilasciato. La versione 1.4.0-beta05 contiene questi commit.

Correzioni di bug

  • Risolto un bug introdotto nella versione 1.3 per cui MetricsAffectingSpans, ad esempio RelativeSizeSpan, veniva applicato due volte. Una volta durante il layout del testo e di nuovo all'interno di EmojiSpan.draw. Il risultato era un disegno ridimensionato in modo errato, visibile se uno dei parametri delle dimensioni del testo è stato modificato dall'intervallo. (b/283208650)

Versione 1.4.0-beta04

24 maggio 2023

androidx.emoji2:emoji2-*:1.4.0-beta04 viene rilasciato. La versione 1.4.0-beta04 contiene questi commit.

Questa versione corregge un bug presente a partire dalla versione 1.0, per cui le visualizzazioni con un gestore non principale generavano un'eccezione quando si tenta di aggiornare gli intervalli di emoji al termine del caricamento del carattere. Non esiste una soluzione alternativa, se il bug ti interessa, esegui l'upgrade a questa versione o a una versione successiva.

Correzioni di bug

  • I callback EmojiCompat init utilizzeranno ora il gestore di ogni vista, rispettando le visualizzazioni non nel thread principale. (Iccbcf)

Versione 1.4.0-beta03

10 maggio 2023

androidx.emoji2:emoji2-*:1.4.0-beta03 viene rilasciato. La versione 1.4.0-beta03 contiene questi commit.

Correzioni di bug

  • È stato corretto l'arresto anomalo della visualizzazione popup nidificata del selettore di emoji. (0acc8e)
  • Generare eccezioni in anticipo in EmojiCompat getEmojiStart/getEmojiEnd. (26177f)

Versione 1.4.0-beta02

19 aprile 2023

androidx.emoji2:emoji2-*:1.4.0-beta02 viene rilasciato. La versione 1.4.0-beta02 contiene questi commit.

Correzioni di bug

  • Aggiorna i file di riferimento lint (Iaa212)

Versione 1.4.0-beta01

5 aprile 2023

androidx.emoji2:emoji2-*:1.4.0-beta01 viene rilasciato. La versione 1.4.0-beta01 contiene questi commit.

Nuove funzionalità

androidx.emoji2:emoji2-emojipicker

Il selettore di emoji è una soluzione UI che offre un aspetto moderno, emoji aggiornate e facilità d'uso. Gli utenti possono sfogliare e selezionare le emoji e le relative varianti oppure scegliere tra le emoji utilizzate di recente. Con questa libreria, le app di diversi OEM possono fornire agli utenti un'esperienza di emoji inclusiva e unificata senza che gli sviluppatori debbano creare e mantenere da zero il proprio selettore di emoji.

Emoji aggiornate

Ogni anno vengono rilasciate nuove emoji e le includeremo selettivamente nel selettore di emoji. Per garantire la compatibilità con le versioni precedenti, eseguiamo internamente un controllo accurato della compatibilità delle emoji per eliminare il tofu. In questo modo la raccolta è compatibile con più versioni di Android e dispositivi.

Varianti persistenti

Premendo a lungo un'emoji viene visualizzato un menu di varianti, ad esempio generi o tonalità della pelle diversi. La variante che scegli verrà salvata nel selettore di emoji e verrà utilizzata l'ultima variante selezionata nel riquadro principale. Grazie a questa funzionalità, gli utenti possono inviare le varianti di emoji che preferiscono con un solo tocco.

Emoji recenti

RecentEmojiProvider si occupa di fornire emoji nella categoria "Utilizzate di recente". La libreria ha un fornitore di emoji recente predefinito che soddisfa il caso d'uso più comune:

  • Tutte le emoji selezionate vengono salvate a livello di app nelle preferenze condivise.
  • Il selettore mostra al massimo tre righe di emoji selezionate, deduplicate, in ordine cronologico inverso.

Se questo comportamento predefinito è sufficiente, non è necessario impostare il metodo setRecentEmojiProvider().

Utilizzare EmojiCompat

Se l'app ha un'istanza EmojiCompat, verrà utilizzata nel selettore di emoji per visualizzare il maggior numero possibile di emoji. Se EmojiCompat viene disattivato, il selettore di emoji continuerà a funzionare correttamente.

Come utilizzare la raccolta

Per utilizzare la raccolta, uno sviluppatore di app deve

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

    dependencies {
      implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. Aumenta la visualizzazione del selettore di emoji e, facoltativamente, imposta emojiGridRows e emojiGridColumns in base alle dimensioni desiderate di ogni cella di emoji

    • Puoi lasciarle non impostate, il valore predefinito è 9 emojiGridColumns. Le righe verranno calcolate in base all'altezza della vista principale e a emojiGridColumns
    • Puoi impostare emojiGridRows come numero in virgola mobile per indicare che ci sono più emoji se scorri verso il basso in XML
     <androidx.emoji2.emojipicker.EmojiPickerView
      android:id="@+id/emoji_picker"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      app:emojiGridColumns="9" />
    

nel codice

    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. Supponendo che tu voglia aggiungere le emoji selezionate a un elemento EditText, utilizza setOnEmojiPickedListener()

      emojiPickerView.setOnEmojiPickedListener {
          findViewById<EditText>(R.id.edit_text).append(it.emoji)
      }
    
  2. (Facoltativo) Imposta RecentEmojiProvider. Visualizza un'app di esempio per un'implementazione di esempio.

  3. Se vuoi, puoi personalizzare gli stili. Crea il tuo stile per sostituire gli attributi comuni del tema e applicare lo stile a EmojiPickerView. Ad esempio, se sostituisci colorControlNormal verrà modificato il colore dell'icona della categoria.

      <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" />
    

Guarda l'app di esempio per un esempio di implementazione.

Una piattaforma API completa è disponibile qui.

App di esempio

Questa app di esempio illustra casi d'uso di base e i seguenti scenari aggiuntivi:

  • La visualizzazione è stata riorganizzata perché i criteri emojiGridRows e emojiGridColumns sono stati reimpostati.
  • Il fornitore di emoji recenti viene sostituito per ordinare in base alla frequenza.
  • Personalizzazione dello stile.

Modifiche alle API

La raccolta del selettore di emoji è stata aggiornata con le seguenti nuove API:

  • La classe EmojiPickerView, che fornisce emoji aggiornate in una visualizzazione scorrevole verticale con un'intestazione orizzontale cliccabile.
  • È possibile impostare il numero di colonne e righe nella griglia del selettore di emoji tramite gli attributi XML emojiGridColumns e emojiGridRows o i metodi setEmojiGridColumns() e setEmojiGridRows().
  • È possibile impostare un listener selezionato per l'emoji tramite il metodo setOnEmojiPickedListener(). L'ascoltatore riceverà una notifica ogni volta che l'utente fa clic su un'emoji.
  • La possibilità di fornire un fornitore di emoji recente tramite il metodo setRecentEmojiProvider(). Questa è una funzione facoltativa. Se non è impostato il fornitore di emoji recenti, la raccolta utilizzerà un fornitore di emoji recente predefinito. Il comportamento predefinito è definito come segue:
    • Tutte le emoji selezionate verranno salvate a livello di app nelle preferenze condivise.
    • Il selettore mostrerà al massimo 3 righe di emoji selezionate, deduplicate, in ordine cronologico inverso.
  • La classe EmojiViewItem, che contiene l'emoji visualizzata e le relative varianti.
  • L'interfaccia RecentEmojiProvider, che può essere implementata per fornire un elenco di emoji recenti. recentEmojiProvider si occupa di fornire emoji nella categoria "Utilizzate di recente".
  • L'interfaccia RecentEmojiAsyncProvider, che può essere implementata per fornire un elenco di emoji recenti. RecentEmojiAsyncProvider si occupa di fornire emoji nella categoria "Utilizzate di recente". Questa interfaccia equivale a RecentEmojiProvider, che consente ai client di sostituire il metodo getRecentEmojiListAsync() per fornire emoji recenti.
  • La classe RecentEmojiProviderAdapter, che funge da adattatore per RecentEmojiAsyncProvider e implementa RecentEmojiProvider.

Versione 1.4.0-alpha01

22 marzo 2023

androidx.emoji2:emoji2-*:1.4.0-alpha01 viene rilasciato. La versione 1.4.0-alpha01 contiene questi commit.

Correzioni di bug

  • Correggi i test, disattiva i test dei flake ed esegui le operazioni di pulizia.

Versione 1.3

Versione 1.3.0

22 marzo 2023

androidx.emoji2:emoji2-*:1.3.0 viene rilasciato. La versione 1.3.0 contiene questi commit.

Modifiche importanti dalla versione 1.2.0

  • Questa release consente a Compose Foundation 1.4.0 e versioni successive di attivare l'integrazione di emoji2.
  • Consente inoltre di utilizzare funzionalità per la sostituzione di EmojiSpans con un codice disegno personalizzato, nonché il supporto delle esclusioni di emoji definite su Android.

Versione 1.3.0-rc01

8 marzo 2023

androidx.emoji2:emoji2-*:1.3.0-rc01 viene rilasciato. La versione 1.3.0-rc01 contiene questi commit.

Nuove funzionalità

  • Questa versione supporta l'integrazione di scrittura di emoji2.

Modifiche alle API

  • Sostituisci gli intervalli per il codice di disegno personalizzato.
  • Esecuzione di query sulle esclusioni di sistema.

Correzioni di bug

  • È stato corretto un bug per cui le sezioni in background non venivano applicate correttamente su EmojiSopans.

Versione 1.3.0-beta03

23 febbraio 2023

androidx.emoji2:emoji2-bundled:1.3.0-beta03, androidx.emoji2:emoji2-views:1.3.0-beta03 e androidx.emoji2:emoji2-views-helper:1.3.0-beta03 vengono rilasciati.

22 febbraio 2023

androidx.emoji2:emoji2:1.3.0-beta03 viene rilasciato. La versione 1.3.0-beta03 contiene questi commit.

Nuove funzionalità

  • Nessuna modifica. Questa release ha lo scopo di preparare l'integrazione di scrittura.

Versione 1.3.0-beta02

8 febbraio 2023

androidx.emoji2:emoji2-*:1.3.0-beta02 viene rilasciato. La versione 1.3.0-beta02 contiene questi commit.

Nuove funzionalità

  • Questa release è in fase di stabilizzazione per supportare l'integrazione di scrittura.

Versione 1.3.0-beta01

25 gennaio 2023

androidx.emoji2:emoji2-*:1.3.0-beta01 viene rilasciato. La versione 1.3.0-beta01 contiene questi commit.

Nuove funzionalità

  • Esecuzione di query sulle esclusioni di sistema.
  • Sostituzione degli intervalli per codice di disegno personalizzato.
  • È stato corretto un bug per cui le sezioni in background non venivano applicate correttamente su EmojiSopans.
  • In questa release sono state aggiunte le API necessarie per supportare EmojiCompat in Compose. Il supporto per la scrittura delle emoji è previsto in una release futura.

Versione 1.3.0-alpha01

11 gennaio 2023

androidx.emoji2:emoji2-*:1.3.0-alpha01 viene rilasciato. La versione 1.3.0-alpha01 contiene questi commit.

Nuove API per interazioni di basso livello

  • Esecuzione di query sulle esclusioni di sistema
  • Sostituzione degli intervalli per il codice di disegno personalizzato
  • È stato corretto un bug per cui le sezioni in background non venivano applicate correttamente su EmojiSopans.
  • In questa release sono state aggiunte le API necessarie per supportare EmojiCompat in Compose. Il supporto per la scrittura delle emoji è previsto in una release futura.

Modifiche alle API

  • Aggiunta la possibilità di eseguire query sulle esclusioni del sistema a TypefaceEmojiRasterizer. (I5653e)
  • È stata aggiunta una nuova API EmojiCompat.SpanFactory per sostituire il comportamento EmojiSpan predefinito con un codice di disegno e dimensionamento personalizzato. (Ib69d9)
  • EmojiCompat aggiunto a Compose (I96f37, b/139326806)

Correzioni di bug

Versione 1.2

Versione 1.2.0

10 agosto 2022

androidx.emoji2:emoji2-*:1.2.0 viene rilasciato. La versione 1.2.0 contiene questi commit.

Modifiche importanti dalla versione 1.1.0

Questa è una release per la correzione di bug. Nessuna nuova funzionalità o API aggiunta dalla versione 1.1.0.

Tuttavia, le app che utilizzano PrecomputedText o TextView.setText(char[]) dovrebbero dare la priorità al passaggio a questa versione.

Sono stati corretti i seguenti bug:

  • Emoji2 aggiungerà emoji a PrecomputedText eliminando il layout di testo precalcolato in precedenza. (I47d06, b/211231958)
  • Correzione degli arresti anomali dell'editor di backport da Android P a EditText configurato per l'utilizzo di emoji2. (Ifd709, b/216891011)
  • È stato risolto l'arresto anomalo quando l'emoji2 caricava il carattere ed è stato utilizzato TextView.setText(char[]). (Id511e, b/206859724)

Versione 1.2.0-rc01

27 luglio 2022

androidx.emoji2:emoji2-*:1.2.0-rc01 viene rilasciato. La versione 1.2.0-rc01 contiene questi commit.

  • Nessuna modifica dall'ultima versione beta.

Versione 1.2.0-beta01

13 luglio 2022

androidx.emoji2:emoji2-*:1.2.0-beta01 viene rilasciato. La versione 1.2.0-beta01 contiene questi commit.

Nuove funzionalità

  • Nessuna modifica rispetto all'ultima versione (questa release supporta la release AppCompat).

Versione 1.2.0-alpha04

20 aprile 2022

androidx.emoji2:emoji2-*:1.2.0-alpha04 viene rilasciato. La versione 1.2.0-alpha04 contiene questi commit.

Nuove funzionalità

  • Nessuna modifica in questa release.

Versione 1.2.0-alpha03

6 aprile 2022

androidx.emoji2:emoji2-*:1.2.0-alpha03 viene rilasciato. La versione 1.2.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Nessuna modifica rispetto all'ultima versione (questa release supporta la release dell'appcompat).

Versione 1.2.0-alpha02

23 marzo 2022

androidx.emoji2:emoji2-*:1.2.0-alpha02 viene rilasciato. La versione 1.2.0-alpha02 contiene questi commit.

Correzioni di bug

  • Emoji2 aggiungerà emoji a PrecomputedText eliminando il layout di testo precalcolato in precedenza. (I47d06, b/211231958)
  • Correzione degli arresti anomali dell'editor di backport da Android P a EditText configurato per l'utilizzo di emoji2. (Ifd709, b/216891011)
  • È stato risolto l'arresto anomalo quando l'emoji2 caricava il carattere ed è stato utilizzato TextView.setText(char[]). (Id511e, b/206859724)

Versione 1.2.0-alpha01

23 febbraio 2022

androidx.emoji2:emoji2-*:1.2.0-alpha01 viene rilasciato. La versione 1.2.0-alpha01 contiene questi commit.

Nessuna modifica dalla versione 1.1.0.

1,1

Versione 1.1.0

23 febbraio 2022

androidx.emoji2:emoji2-*:1.1.0 viene rilasciato. La versione 1.1.0 contiene questi commit.

Modifiche importanti dalla versione 1.0.0

  • Il bundle emoji2 contiene il carattere emoji 14
  • La nuova API getEmojiMatch restituisce informazioni accurate per consentire alle tastiere di decidere come visualizzare un'emoji in presenza di un carattere emojicompat dietro al carattere di sistema.
  • Correzione di bug per NumberKeyListener che consente di filtrare correttamente i caratteri per l'inserimento delle cifre.

Versione 1.1.0-rc01

9 febbraio 2022

androidx.emoji2:emoji2-*:1.1.0-rc01 viene rilasciato. La versione 1.1.0-rc01 contiene questi commit.

Nuove funzionalità

Nessuna modifica dalla versione beta.

Nuove funzionalità rispetto a emoji2 1.0.0:

  • emoji2-bundled contiene carattere emoji 14
  • La nuova API getEmojiMatch restituisce informazioni accurate per consentire alle tastiere di decidere come visualizzare un'emoji in presenza di un carattere emojicompat dietro al carattere di sistema.
  • Correzione di bug per NumberKeyListener che consente di filtrare correttamente i caratteri all'inserimento delle cifre

Versione 1.1.0-beta01

26 gennaio 2022

androidx.emoji2:emoji2-*:1.1.0-beta01 viene rilasciato. La versione 1.1.0-beta01 contiene questi commit.

Correzioni di bug

  • release androidx-emoji2 beta01. Nessuna modifica da alpha01 (Ic61d9)

Versione 1.1.0-alpha01

15 dicembre 2021

androidx.emoji2:emoji2-*:1.1.0-alpha01 viene rilasciato. La versione 1.1.0-alpha01 contiene questi commit.

Nuove funzionalità

  • emoji2-bundled contiene carattere emoji 14
  • La nuova API getEmojiMatch restituisce informazioni accurate per consentire alle tastiere di decidere come visualizzare un'emoji in presenza di un carattere emojicompat dietro al carattere di sistema.
  • Correzione di bug per NumberKeyListener che consente di filtrare correttamente i caratteri all'inserimento delle cifre

Modifiche alle API

  • Aggiunta della nuova API getEmojiMatch per consentire alle tastiere di cercare con maggiore precisione il comportamento di corrispondenza delle emoji in emojicompat.
  • Depreca hasEmojiGlyph, poiché il suo valore restituito booleano non è preciso durante il test con un carattere più vecchio del carattere dell'emoji della piattaforma. Sostituisci con getEmojiMatch. (Ie693d)

Correzioni di bug

  • Emoji2 non aggregherà le istanze di NumberKeyListener, consentendo di configurare le impostazioni internazionali da TextView.
  • Appcompat non eseguirà il wrapping delle istanze di NumberKeyListener passate a setKeyListener, consentendo a TextView di configurare correttamente le impostazioni internazionali su NumberKeyListeners. (Ibf113, b/207119921)

1.0

Versione 1.0.1

15 dicembre 2021

androidx.emoji2:emoji2-*:1.0.1 viene rilasciato. La versione 1.0.1 contiene questi commit.

Correzioni di bug

  • Emoji2 non esegue il wrapping delle istanze di NumberKeyListener, consentendo di configurare le impostazioni internazionali da TextView.
  • Appcompat non eseguirà il wrapping delle istanze di NumberKeyListener passate a setKeyListener, consentendo a TextView di configurare correttamente le impostazioni internazionali su NumberKeyListeners. (Ibf113, b/207119921)

Versione 1.0.0

17 novembre 2021

androidx.emoji2:emoji2-*:1.0.0 viene rilasciato. La versione 1.0.0 contiene questi commit.

Funzionalità principali della versione 1.0.0

androidx.emoji2 sostituisce androidx.emoji con funzionalità aggiuntive:

  • Riduzione delle dimensioni degli APK rispetto ad androidx.emoji
  • Configurazione automatica
  • Aggiunta come dipendenza ad appcompat 1.4

Per maggiori informazioni su androidx.emoji2, consulta la pagina Supporto delle emoji moderne e la presentazione dell'Android Dev Summit su come visualizzare TUTTE le emoji nell'app Android Dev.

Versione 1.0.0-rc01

27 ottobre 2021

androidx.emoji2:emoji2-*:1.0.0-rc01 viene rilasciato. La versione 1.0.0-rc01 contiene questi commit.

  • Nessuna modifica dalla versione beta02.

Emoji2 Versione 1.0.0-beta01

15 settembre 2021

androidx.emoji2:emoji2-*:1.0.0-beta01 viene rilasciato. La versione 1.0.0-beta01 contiene questi commit.

Modifiche alle API

  • È stato aggiunto setLoadingExecutor a FontRequestEmojiCompatConfig, che sostituisce la precedente API di setHandler. Questa API consente alle app di configurare FontRequestEmojiCompatConfig per utilizzare qualsiasi esecutore in background.

    Questa modifica è una modifica che provoca un errore rispetto a androidx.emoji:emoji, quindi setHandler viene conservata come API deprecata autonoma per facilitare la migrazione. (I6cd48)

  • EmojiCompat imposta correttamente EditorInfo.extras su Android 11

    • I widget personalizzati che utilizzano IME che non sottoclassificano EditText potrebbero chiamare EmojiCompat.updateEditorInfo per comunicare all'IME che supportano l'elaborazione di EmojiCompat. (I1ea9b)

Correzioni di bug

  • Correggi DefaultEmojiCompatConfig per cercare correttamente il provider di caratteri emoji sulle API 19 e 28. Questo corregge un bug introdotto in emoji2 1.0.0-alpha01. (Ib33d8, b/197906329)

Versione 1.0.0-alpha03

30 giugno 2021

androidx.emoji2:emoji2-*:1.0.0-alpha03 viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.

Nuove funzionalità

Questa release è una release per la correzione di bug e la stabilizzazione.

  1. EmojiEditTextHelper consente ora di passare null come KeyListener. Ciò consente al comportamento della piattaforma di consentire l'applicazione di valori null alle emoji che supportano le implementazioni di EditText.
  2. Quando utilizzi EmojiCompatInitializer, il ritardo di avvio iniziale viene migliorato dopo il ripristino della prima attività. In questo modo l'avvio dell'app avviene in modo incontrollato e si evita di caricare il carattere per gli avvii delle app che non mostrano mai una UI. Dopo un breve ritardo, EmojiCompat creerà un thread per caricare il carattere emoji.
  • Per implementare il ritardo, è stata aggiunta una nuova dipendenza su androidx.lifecycle:lifecycle-process da androidx.emoji2:emoji2. Questo avrà un impatto trascurabile sulle dimensioni degli APK per le app che includono già un ciclo di vita (ad esempio le app con appcompat).

Modifiche alle API

  • Consenti KeyListener null in AppCompatEditText. Questa operazione inverte l'annotazione con valore non null aggiunta ad AppCompatEditText in 1.4.0-alpha01 e ripristina il comportamento precedente quando viene passato un valore null. (I21482, b/189559345)

Correzioni di bug

  • Modifica EmojiCompatInitializer per ritardare il caricamento del carattere fino a 500 ms dopo il primo Activity.onResume. In questo modo un'attività può eseguire Application.onCreate e Activity.onCreate senza limitazioni, garantendo comunque che il carattere emoji venga caricato subito dopo l'avvio dell'app. (I4bff7)

Versione 1.0.0-alpha02

2 giugno 2021

androidx.emoji2:emoji2:1.0.0-alpha02, androidx.emoji2:emoji2-views:1.0.0-alpha02 e androidx.emoji2:emoji2-views-helper:1.0.0-alpha02 vengono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.

Modifiche alle API

  • Pacchetto rinominato in emoji2-views-helper in androidx.emoji2.viewsintegration. Questa è una modifica che provoca un errore per AppCompat 1.4.0-alpha01 e le app devono garantire che la dipendenza AppCompat venga aggiornata in modo da utilizzare la nuova versione di emoji2. (Ie8397)

Versione 1.0.0-alpha01

18 maggio 2021

androidx.emoji2:emoji2:1.0.0-alpha01, androidx.emoji2:emoji2-views:1.0.0-alpha01 e androidx.emoji2:emoji2-views-helper:1.0.0-alpha01 vengono rilasciati. La versione 1.0.0-alpha01 contiene questi commit.

Funzionalità in questa release iniziale

L'integrazione emojicompat è consigliata per tutte le app per supportare le emoji moderne dall'API19. Tutti i contenuti generati dagli utenti nella tua app includono 🎉.

EmojiCompat è stato spostato dagli elementi androidx.emoji al nuovo androidx.emoji2, ora in versione alpha01. I nuovi artefatti sostituiscono la versione precedente.

emoji2 viene aggiunto come dipendenza ad AppCompat a partire da AppCompat 1.4.0-alpha01 ed è abilitato per impostazione predefinita per le viste AppCompat.

L'artefatto emoji2 introduce una nuova configurazione automatica utilizzando la libreria androidx.startup. Non hai più bisogno di scrivere codice 👨🏽 raffigurante un codice 👨🏽 determinazione del prezzo di visualizzazione ottenuto ❄️.

Modifiche alle emoji 2 rispetto alle emoji

  • Nuova configurazione automatica EmojiCompatInitializer aggiunta utilizzando androidx.startup.
  • È stata aggiunta una nuova configurazione predefinita che utilizza la posizione del servizio per trovare un fornitore di caratteri scaricabili in DefaultEmojiCompatConfiguration.
  • Corsi spostati dal pacchetto androidx.emoji a androidx.emoji2.
  • Suddividi EmojiTextView e le visualizzazioni correlate in un elemento emoji2-views separato. Deve essere usato solo se la tua app non utilizza appcompat.
  • helper estratti per integrare emojicompat in visualizzazioni personalizzate in un elemento emoji2-views-helper separato.
  • Aggiunta di annotazioni con supporto null.
  • Ora è possibile usare gli helper in emoji2-views-helper anche quando EmojiCompat non è inizializzato (in precedenza costituivano un'eccezione).

Quale dipendenza dovresti aggiungere?

  • Le app con AppCompat dovrebbero eseguire l'upgrade alla versione AppCompat 1.4.0-alpha01 o successiva.
  • Le app senza AppCompat che utilizzano TextView/EditText dalla piattaforma devono usare EmojiTextView e le classi correlate di emoji2-views.

Come supportare nelle visualizzazioni personalizzate

  • Le app con AppCompat devono estendere AppCompatTextView, AppCompatButton e così via anziché la piattaforma TextView e così via.
  • Le app senza AppCompat dovrebbero aggiungere la dipendenza androidx.emoji2:emoji2-views-helper e usare helper per l'integrazione con le sottoclassi TextView o EditText personalizzate.

Configurazione dell'inizializzazione automatica

  • Le app possono disattivare l'inizializzazione automatica aggiungendo quanto segue al file manifest:

     <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>
    
  • Verrà disattivata la configurazione automatica. Dopodiché potrai passare una configurazione personalizzata a EmojiCompat.init. La configurazione predefinita del sistema può essere recuperata DefaultEmojiCompatConfig.create(context) per un'ulteriore configurazione prima di passare a EmojiCompat.init.