Emoji2
Ultimo aggiornamento | Release stabile | Candidato per la release | Versione beta | Versione alpha |
---|---|---|---|---|
4 giugno 2025 | 1.5.0 | - | - | 1.6.0-alpha01 |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza da 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 elementi necessari nel file build.gradle
per la tua app o il tuo modulo:
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") }
Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione del Tracker dei problemi.
Emojipicker Emoji2 versione 1.0
Versione 1.5.0
4 settembre 2024
androidx.emoji2:emoji2-*:1.5.0
viene rilasciato. La versione 1.5.0 contiene questi commit.
Modifiche importanti dalla versione 1.4.0
- Supporto dell'interfaccia utente del selettore di emoji 15.1 e bidirezionale. Un semplice clic sul selettore bidirezionale consente agli utenti di passare dalle versioni delle emoji rivolte verso sinistra a quelle rivolte verso destra e viceversa.
- Supporto del selettore di emoji con più tonalità della pelle. Se premi a lungo le emoji di coppia, viene visualizzato un selettore di emoji per più persone per lo stato zero. Quando l'utente tocca la metà sinistra di un'emoji, l'anteprima dell'emoji in basso a destra viene aggiornata di conseguenza. Quando l'utente seleziona entrambe le metà di un'emoji, l'anteprima dell'emoji in basso a destra mostra l'intera emoji, che l'utente può quindi inserire.
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 risorse non necessarie e le dimensioni della raccolta sono state ridotte di circa 0,3 M.
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 all'API
- È stata aggiunta una nuova API per consentire ai client Java di fornire emoji recenti. (I39d10)
Correzioni di bug
- Aggiornamento delle risorse emoji per supportare le emoji 15.0 (Ib4eb3)
- Quando selezioni un'emoji dalla finestra popup, aggiorna tutte le emoji identiche con quella appena selezionata (tranne la riga di emoji recenti). Annuncia anche 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 app e dispositivi OEM con sistema operativo Android. Fornisce il supporto più recente per le emoji e l'interfaccia utente del selettore di emoji, incluse le varianti di tonalità della pelle e il supporto della compatibilità delle emoji.
Modifiche all'API
- È stato introdotto il tipo
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 funzionesetEmojiGridColumns()
. - Le righe della griglia del selettore di emoji possono essere impostate tramite l'attributo XML
emojiGridRows
o la funzionesetEmojiGridRows()
. - L'ascoltatore dell'emoji scelta può essere impostato tramite
setOnEmojiPickedListener()
e 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 il fornitore di emoji recenti non è impostato, la libreria utilizzerà un fornitore di emoji recenti predefinito. Il comportamento predefinito è definito come segue: 1) tutti gli emoji selezionati verranno salvati a livello di app nelle preferenze condivise. 2) il selettore mostrerà al massimo tre righe di emoji selezionate, deduplicati, in ordine cronologico inverso. - È stata introdotta la classe
EmojiViewItem
che contiene l'emoji visualizzata e le relative varianti. - È stata introdotta l'interfaccia
RecentEmojiProvider
che può essere implementata per fornire un elenco di emoji recenti.recentEmojiProvider
è responsabile della fornitura delle emoji nella categoria "Utilizzate di recente".
Versione 1.6
Versione 1.6.0-alpha01
4 giugno 2025
androidx.emoji2:emoji2-*:1.6.0-alpha01
viene rilasciato. La versione 1.6.0-alpha01 contiene questi commit.
Nuove funzionalità
- Aggiornamenti dei dati di Emoji 16.0 (Ifc878)
- Aggiunta del suffisso "emoji" alla descrizione dei contenuti
Correzioni di bug
- Questa libreria ora utilizza le annotazioni di nullità JSpecify, che sono di tipo di utilizzo. Gli sviluppatori Kotlin devono utilizzare i seguenti argomenti del compilatore per applicare l'utilizzo corretto:
-Xjspecify-annotations=strict
,-Xtype-enhancement-improvements-strict-mode
(Id07e7, b/326456246)
Versione 1.5
Versione 1.5.0
4 settembre 2024
androidx.emoji2:emoji2-*:1.5.0
viene rilasciato. La versione 1.5.0 contiene questi commit.
Modifiche importanti dalla versione 1.4.0
- Supporto dell'interfaccia utente del selettore di emoji 15.1 e bidirezionale. Un semplice clic sul selettore bidirezionale consente agli utenti di passare dalle versioni delle emoji rivolte verso sinistra a quelle rivolte verso destra e viceversa.
- Supporto del selettore di emoji con più tonalità della pelle. Se premi a lungo le emoji di coppia, viene visualizzato un selettore di emoji per più persone per lo stato zero. Quando l'utente tocca la metà sinistra di un'emoji, l'anteprima dell'emoji in basso a destra viene aggiornata di conseguenza. Quando l'utente seleziona entrambe le metà di un'emoji, l'anteprima dell'emoji in basso a destra mostra l'intera emoji, che l'utente può quindi inserire.
Versione 1.5.0-rc01
21 agosto 2024
androidx.emoji2:emoji2-*:1.5.0-rc01
viene rilasciato. La versione 1.5.0-rc01 contiene questi commit.
Nuove funzionalità
- Supporto dell'interfaccia utente del selettore di emoji 15.1 e bidirezionale. Un semplice clic sul selettore bidirezionale consente agli utenti di passare dalle versioni rivolte verso sinistra a quelle rivolte verso destra delle emoji.
- Supporto del selettore di emoji con più tonalità della pelle. Se premi a lungo le emoji di coppia, viene visualizzato un selettore di emoji per più persone per lo stato zero. Quando l'utente tocca la metà sinistra di un'emoji, l'anteprima dell'emoji in basso a destra viene aggiornata di conseguenza. Quando l'utente seleziona entrambe le metà di un'emoji, l'anteprima mostra l'intera emoji e l'utente può inserirla.
Correzioni di bug
- È stato rimosso il riepilogo manuale dell'accesso alle nuove API di piattaforma, poiché questo avviene automaticamente tramite la definizione del modello API quando si utilizza R8 con AGP 7.3 o versioni successive (ad es. R8 versione 3.3) e per tutte le build quando si utilizza AGP 8.1 o versioni successive (ad es. D8 versione 8.1). I clienti che non utilizzano AGP sono invitati a eseguire l'aggiornamento alla versione 8.1 o successive di D8. Consulta questo articolo per ulteriori dettagli. (If6b4c, b/345472586)
- La selezione della scheda e l'indicatore di
EmojiPickerView
vengono aggiornati un clic dopo. (146b02, b/288261054) - La selezione della scheda e l'indicatore di
EmojiPickerView
non funzionano. (5e1f14, b/273883688)
Versione 1.5.0-beta01
10 luglio 2024
androidx.emoji2:emoji2-*:1.5.0-beta01
viene rilasciato. La versione 1.5.0-beta01 contiene questi commit.
Nuove funzionalità
- Supporto dell'interfaccia utente di selezione delle emoji 15.1 e bidirezionale.
- Supporto del nuovo design per la selezione di più tonalità della pelle.
Correzioni di bug
- La selezione della scheda e l'indicatore di
EmojiPickerView
vengono aggiornati un clic dopo. (146b02, b/288261054) - La selezione della scheda e l'indicatore di
EmojiPickerView
non funzionano. (5e1f14, b/273883688)
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 all'API
- Aggiungi gli esecutori per controllare il thread di callback per
InitCallback
. (I32b67) BundledEmojiCompatConfig
ora richiede un'esecuzione per controllare i thread di caricamento. (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
- È stata introdotta la libreria del selettore di emoji. Per ulteriori dettagli, consulta la documentazione per gli sviluppatori.
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 all'API
- Introduzione dell'elenco
registerSource
(Iae92f) - Feedback del Consiglio API:
TransitionManager.seekTo()
è stato rinominato increateSeekController()
. Modifica il commento precedente sull'aggiunta diTransitionManager.seekTo()
aTransitionManager.createSeekController()
. (Idbeb1) - È stato aggiunto
ExerciseRouteResult
, che non è la superclasse diData
,NoData
eConsentRequiredStates
. È stata aggiuntaExerciseRoute
come classe autonoma, che contiene i dati sulla posizione del percorso. (I22eed) - È stato introdotto
PagerLayoutInfo
con le informazioni raccolte dopo il passaggio di una misura in Pager. È stato introdotto anche PageInfo, le informazioni su una singola pagina misurata in Pager. (Iad003, b/283098900)
Correzioni di bug
- Abbiamo aggiornato i colori di
Button
,IconButton
eTextButton
in linea con il design di Material3. Il ruolo semantico perButton
,IconButton
eTextButton
ora può essere ignorato utilizzandoModifier.semantics
. (Ib2495) - È stato corretto un problema relativo all'aggiornamento della selezione della scheda e dell'indicatore di
EmojiPickerView
con un clic in ritardo. (I4db04) FileNotFoundException
sulla visualizzazione del selettore di emoji (I353e4)- Catturare il
WindowManager.BadTokenException
quando si utilizzaEmojiPickerView
(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
- È stato corretto un bug introdotto nella versione 1.3 che causava l'applicazione di
MetricsAffectingSpans
, ad esempioRelativeSizeSpan
, due volte. Una volta durante il layout del testo e di nuovo all'interno diEmojiSpan.draw
. Il risultato è stato un disegno con dimensioni errate, visibile se uno dei parametri delle dimensioni del testo è stato modificato dall'elemento span. (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 release corregge un bug presente dalla versione 1.0 per cui le visualizzazioni con un gestore non principale generavano un'eccezione durante il tentativo di aggiornare gli intervalli di emoji al termine del caricamento del carattere. Non esiste una soluzione alternativa. Se il bug ti riguarda, esegui l'upgrade a questa versione o a una successiva.
Correzioni di bug
- I callback di inizializzazione di
EmojiCompat
ora utilizzeranno il gestore di ogni visualizzazione, rispettando le visualizzazioni non presenti 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
- Correzione dell'arresto anomalo della visualizzazione popup nidificata del selettore di emoji. (0acc8e)
- Genera eccezioni anticipate 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 di 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 usate di recente. Con questa libreria, le app di diversi OEM possono offrire ai propri utenti un'esperienza inclusiva e unificata con le emoji senza che gli sviluppatori debbano creare e gestire da zero il proprio selettore di emoji.
Emoji aggiornate
Ogni anno vengono rilasciate nuove emoji, che includeremo in modo selettivo nel selettore di emoji. Per garantire la compatibilità con le versioni precedenti, eseguiamo internamente un controllo accurato della possibilità di visualizzare le emoji per eliminare il tofu. In questo modo, la libreria sarà compatibile con più versioni e dispositivi Android.
Varianti fisse
Se premi a lungo un'emoji, viene visualizzato un menu di varianti, ad esempio generi o tonalità della pelle diversi. La variante scelta verrà salvata nel selettore di emoji e l'ultima selezionata verrà utilizzata nel riquadro principale. Con questa funzionalità, gli utenti possono inviare le varianti di emoji preferite con un solo tocco.
Emoji recenti
RecentEmojiProvider
è responsabile della fornitura delle emoji nella categoria "Utilizzate di recente". La libreria ha un provider di emoji recenti predefinito che soddisfa il caso d'uso più comune:
- Tutti gli emoji selezionati vengono salvati a livello di app nelle preferenze condivise.
- Il selettore mostra al massimo tre righe di emoji selezionate, deduplicati, in ordine cronologico inverso.
Se questo comportamento predefinito è sufficiente, non è necessario impostare il metodo setRecentEmojiProvider()
.
Lavorare con EmojiCompat
Se l'app ha un'istanza EmojiCompat
, verrà utilizzata nel selettore di emoji per visualizzare il maggior numero possibile di emoji. Se EmojiCompat
è disattivato, il selettore di emoji continuerà a funzionare correttamente.
Come utilizzare la libreria
Per utilizzare la libreria, uno sviluppatore di app deve
Importa
androidx.emoji2:emojipicker:$version
inbuild.gradle
.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Espandi la visualizzazione del selettore di emoji e, facoltativamente, imposta
emojiGridRows
eemojiGridColumns
in base alle dimensioni desiderate di ogni cella emoji- Puoi lasciarli non impostati. Il valore predefinito è 9
emojiGridColumns
. Le righe verranno calcolate in base all'altezza della vista principale e aemojiGridColumns
- Puoi impostare
emojiGridRows
come valore float per indicare che ci sono altri emoji se scorri verso il basso nel file XML
<androidx.emoji2.emojipicker.EmojiPickerView android:id="@+id/emoji_picker" android:layout_width="match_parent" android:layout_height="match_parent" app:emojiGridColumns="9" />
- Puoi lasciarli non impostati. Il valore predefinito è 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)
Supponendo che tu voglia accodare le emoji selezionate a un EditText, utilizza
setOnEmojiPickedListener()
emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }
Se vuoi, imposta
RecentEmojiProvider
. Per un esempio di implementazione, consulta l'app di esempio.(Facoltativo) Personalizza gli stili. Crea il tuo stile per sostituire gli attributi del tema comuni e applicarlo al
EmojiPickerView
. Ad esempio, la sostituzione dicolorControlNormal
cambia 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" />
Per un esempio di implementazione, consulta l'app di esempio.
Puoi trovare una versione completa dell'API qui.
App di esempio
Questa app di esempio mostra casi d'uso di base, oltre ai seguenti scenari aggiuntivi:
- La visualizzazione è stata riorganizzata perché
emojiGridRows
eemojiGridColumns
sono stati reimpostati. - Il fornitore di emoji recente viene ignorato per l'ordinamento in base alla frequenza.
- Personalizzazione dello stile.
Modifiche all'API
La libreria Emoji Picker è stata aggiornata con le seguenti nuove API:
- La classe
EmojiPickerView
, che fornisce emoji aggiornate in una visualizzazione scorrevole verticale con un'intestazione orizzontale cliccabile. - La possibilità di impostare il numero di colonne e righe nella griglia del selettore di emoji tramite gli attributi XML
emojiGridColumns
eemojiGridRows
o i metodisetEmojiGridColumns()
esetEmojiGridRows()
. - La possibilità di impostare un ascoltatore che ha scelto un'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 il fornitore di emoji recenti non è impostato, la libreria utilizzerà un fornitore di emoji recenti predefinito. Il comportamento predefinito è definito come segue:- Tutti gli emoji selezionati verranno salvati a livello di app nelle preferenze condivise.
- Il selettore mostrerà al massimo tre righe di emoji selezionate, deduplicati, in ordine cronologico inverso.
- La classe
EmojiViewItem
, che contiene l'emoji visualizzata e le sue varianti. - L'interfaccia
RecentEmojiProvider
, che può essere implementata per fornire un elenco di emoji recenti.recentEmojiProvider
è responsabile della fornitura delle emoji nella categoria "Utilizzate di recente". - L'interfaccia
RecentEmojiAsyncProvider
, che può essere implementata per fornire un elenco di emoji recenti.RecentEmojiAsyncProvider
è responsabile della fornitura delle emoji nella categoria "Utilizzate di recente". Questa interfaccia è equivalente aRecentEmojiProvider
che consente ai client di sostituire il metodogetRecentEmojiListAsync()
per fornire emoji recenti. - La classe
RecentEmojiProviderAdapter
, che è un adattatore perRecentEmojiAsyncProvider
e implementaRecentEmojiProvider
.
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 di instabilità e 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 sostituire
EmojiSpans
con codice di disegno personalizzato, nonché di supportare le 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 emoji2 nella composizione.
Modifiche all'API
- Sostituisci gli intervalli per il codice di disegno personalizzato.
- Eseguire query sulle esclusioni di sistema.
Correzioni di bug
- Inoltre, è stato corretto un bug per cui gli spazi di sfondo non venivano applicati correttamente dietro
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 è finalizzata alla preparazione dell'integrazione di Componi.
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 è una versione stabile che supporta l'integrazione di Componi.
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à
- Eseguire query sulle esclusioni di sistema.
- Sostituzione degli intervalli per il codice di disegno personalizzato.
- Inoltre, è stato corretto un bug per cui gli spazi di sfondo non venivano applicati correttamente dietro
EmojiSopans
. - Questa release aggiunge le API necessarie per supportare
EmojiCompat
in Compose. Prevediamo di supportare la compatibilità con le emoji nella composizione 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 a basso livello
- Eseguire query sulle esclusioni di sistema
- Sostituzione degli intervalli per il codice di disegno personalizzato
- Inoltre, è stato corretto un bug per cui gli spazi di sfondo non venivano applicati correttamente dietro
EmojiSopans
. - Questa release aggiunge le API necessarie per supportare
EmojiCompat
in Compose. Prevediamo di supportare la compatibilità con le emoji nella composizione in una release futura.
Modifiche all'API
- È stata aggiunta la possibilità di eseguire query sulle esclusioni di sistema in
TypefaceEmojiRasterizer
. (I5653e) - È stata aggiunta la nuova API
EmojiCompat.SpanFactory
per sostituire il comportamento predefinito diEmojiSpan
con un codice di disegno e dimensionamento personalizzato. (Ib69d9) - È stato aggiunto
EmojiCompat
a Scrivi (I96f37, b/139326806)
Correzioni di bug
- Emoji2 ora disegnerà correttamente gli sfondi da
BackgroundSpan
. (Ide6a8, b/230525134) - Finalizzare le API AppCompat per 1.5.0-beta01 (I2a43d, b/236866227)
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 di correzione di bug. Nessuna nuova funzionalità o API è stata aggiunta dalla versione 1.1.0.
Tuttavia, le app che utilizzano PrecomputedText
o TextView.setText(char[])
dovrebbero dare la priorità all'upgrade a questa versione.
Sono stati corretti i seguenti bug:
Emoji2
aggiungerà emoji aPrecomputedText
ignorando il layout di testo precalcolato precedente. (I47d06, b/211231958)- Correzione del bug dell'editor di backport da Android P a
EditText
configurato per l'utilizzo di emoji2. (Ifd709, b/216891011) - È stato corretto un arresto anomalo quando emoji2 carica il carattere e viene 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 è destinata a supportare 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 è destinata a supportare la release 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à le emoji a
PrecomputedText
ignorando il layout di testo precalcolato precedente. (I47d06, b/211231958) - Correzione del crash dell'editor di backport da Android P a EditText configurato per l'utilizzo di emoji2. (Ifd709, b/216891011)
- È stato corretto un arresto anomalo quando emoji2 carica il carattere e viene 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
- emoji2-bundled contiene il carattere emoji 14
- La nuova API
getEmojiMatch
restituisce informazioni accurate per consentire alle tastiere di decidere come verrà visualizzata un'emoji in presenza di un carattere emojicompat che si trova dietro il carattere di sistema - Correzione di bug per
NumberKeyListener
che consente di filtrare correttamente i caratteri inseriti con le 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 rispetto alla versione beta.
Nuove funzionalità rispetto a emoji2 1.0.0:
emoji2-bundled
contiene il carattere emoji 14- La nuova API
getEmojiMatch
restituisce informazioni accurate per consentire alle tastiere di decidere come verrà visualizzata un'emoji in presenza di un carattere emojicompat che si trova dietro il carattere di sistema - Correzione di bug per
NumberKeyListener
che consente di filtrare correttamente i caratteri inseriti
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 rispetto ad 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 il carattere emoji 14- La nuova API
getEmojiMatch
restituisce informazioni accurate per consentire alle tastiere di decidere come verrà visualizzata un'emoji in presenza di un carattere emojicompat che si trova dietro il carattere di sistema - Correzione di bug per
NumberKeyListener
che consente di filtrare correttamente i caratteri inseriti
Modifiche all'API
- Aggiungere una nuova API
getEmojiMatch
per consentire alle tastiere di cercare in modo più accurato il comportamento di corrispondenza delle emoji in emojicompat. - È stata ritirata la funzionalità
hasEmojiGlyph
, in quanto il relativo valore restituito booleano non è preciso quando viene eseguito il test su un carattere precedente a quello della piattaforma emoji. Sostituisci congetEmojiMatch
. (Ie693d)
Correzioni di bug
- Emoji2 non eseguirà il wrapping delle istanze di
NumberKeyListener
, consentendo la configurazione della lingua tramiteTextView
. - AppCompat non eseguirà il wrapping delle istanze di
NumberKeyListener
passate asetKeyListener
, consentendo aTextView
di configurare correttamente le impostazioni internazionali suNumberKeyListeners
. (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 eseguirà il wrapping delle istanze diNumberKeyListener
, consentendo la configurazione delle impostazioni internazionali da parte diTextView
.- AppCompat non eseguirà il wrapping delle istanze di
NumberKeyListener
passate asetKeyListener
, consentendo aTextView
di configurare correttamente le impostazioni internazionali suNumberKeyListeners
. (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 dell'APK rispetto ad androidx.emoji
- Configurazione automatica
- Aggiunta come dipendenza ad appcompat 1.4
Per ulteriori informazioni su androidx.emoji2, consulta Supportare le emoji moderne e la nostra conferenza Android Dev Summit Mostrare TUTTE le emoji nella tua 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 all'API
È stato aggiunto
setLoadingExecutor
aFontRequestEmojiCompatConfig
, che sostituisce l'API precedente disetHandler
. Questa API consente alle app di configurareFontRequestEmojiCompatConfig
in modo da utilizzare qualsiasi programma di esecuzione in background.Questa modifica comporta una rottura rispetto a
androidx.emoji:emoji
, pertantosetHandler
viene mantenuto come API deprecata senza operazioni per facilitare la migrazione. (I6cd48)EmojiCompat imposta correttamente
EditorInfo.extras
su Android 11- I widget personalizzati che utilizzano l'IME non sottoclassificano EditText possono chiamare
EmojiCompat.updateEditorInfo
per informare l'IME che supportano l'elaborazione EmojiCompat. (I1ea9b)
- I widget personalizzati che utilizzano l'IME non sottoclassificano EditText possono chiamare
Correzioni di bug
- Correggi
DefaultEmojiCompatConfig
per cercare correttamente il fornitore 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 di correzione di bug e stabilizzazione.
- EmojiEditTextHelper ora consente di passare
null
come KeyListener. Ciò consente il comportamento della piattaforma di consentire l'applicazione di valori null alle emoji che supportano le implementazioni di EditText. - Quando utilizzi EmojiCompatInitializer, il ritardo di avvio iniziale è stato migliorato in modo da attivarsi dopo la ripresa della prima attività. In questo modo, l'avvio dell'app avviene senza concorrenza ed evita di caricare il carattere per gli avvii dell'app che non mostrano mai un'interfaccia utente. Dopo un breve ritardo, EmojiCompat creerà un thread per caricare il carattere emoji.
- Per implementare il ritardo, viene aggiunta una nuova dipendenza da
androidx.lifecycle:lifecycle-process
daandroidx.emoji2:emoji2
. Ciò avrà un impatto trascurabile sulle dimensioni dell'APK per le app che includono già il ciclo di vita (ad esempio le app con appcompat).
Modifiche all'API
- Consenti KeyListener null in AppCompatEditText. Questo annulla l'annotazione non nullo aggiunta ad AppCompatEditText nella versione 1.4.0-alpha01 e ripristina il comportamento precedente quando viene passato null. (I21482, b/189559345)
Correzioni di bug
- Modifica EmojiCompatInitializer in modo da ritardare il caricamento dei caratteri fino a 500 ms dopo il primo
Activity.onResume
. In questo modo, un'attività può eseguireApplication.onCreate
eActivity.onCreate
senza concorrenza, garantendo al contempo che il carattere emoji venga caricato poco 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 all'API
- Il pacchetto in
emoji2-views-helper
è stato rinominato inandroidx.emoji2.viewsintegration
. Si tratta di una modifica che comporta una interruzione del servizio per AppCompat1.4.0-alpha01
e le app devono assicurarsi che la dipendenza da AppCompat sia aggiornata per poter 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à di questa release iniziale
L'integrazione di emojicompat è consigliata per tutte le app per supportare le emoji moderne dall'API 19. Tutti i contenuti generati dagli utenti nella tua app contengono 🎉.
EmojiCompat è passato dagli elementi androidx.emoji
al nuovo androidx.emoji2
, ora in alpha01. I nuovi elementi 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 visualizzazioni AppCompat.
L'elemento emoji2
introduce una nuova configurazione automatica che utilizza la libreria androidx.startup
. Non è più necessario scrivere codice 👨🏽💻 per visualizzare 🐻❄️.
Modifiche in emoji2 rispetto a emoji
- È stata aggiunta una nuova configurazione automatica
EmojiCompatInitializer
utilizzandoandroidx.startup
. - È stata aggiunta una nuova configurazione predefinita che utilizza la posizione del servizio per trovare un provider di caratteri scaricabili in
DefaultEmojiCompatConfiguration
. - I corsi sono stati spostati dal pacchetto
androidx.emoji
aandroidx.emoji2
. - Dividi
EmojiTextView
e le visualizzazioni correlate in un artefatto separatoemoji2-views
. Questo valore deve essere utilizzato solo se la tua app non utilizza appcompat. - Sono stati estratti gli aiuti per l'integrazione di emojicompat nelle visualizzazioni personalizzate in un artefatto separato
emoji2-views-helper
. - Sono state aggiunte annotazioni sulla nullabilità.
- Ora gli aiuti in
emoji2-views-helper
possono essere utilizzati anche quandoEmojiCompat
non è inizializzato (in precedenza generavano un'eccezione).
Quale dipendenza dovresti aggiungere?
- Le app con AppCompat devono eseguire l'upgrade alla versione AppCompat
1.4.0-alpha01
o successiva. - Le app senza AppCompat che utilizzano
TextView
/EditText
della piattaforma devono utilizzareEmojiTextView
e le classi correlate diemoji2-views
.
Come fornire assistenza nelle visualizzazioni personalizzate
- Le app con AppCompat devono estendere
AppCompatTextView
,AppCompatButton
e così via anziché la piattaformaTextView
e così via. - Le app senza AppCompat devono aggiungere la dipendenza
androidx.emoji2:emoji2-views-helper
e utilizzare gli aiuti per l'integrazione con sottoclassiTextView
oEditText
personalizzate.
Configurazione dell'inizializzazione automatica
Le app possono disattivare l'inizializzazione automatica aggiungendo quanto segue al 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>
La configurazione automatica viene disattivata e puoi passare una configurazione personalizzata a
EmojiCompat.init
. La configurazione predefinita per il sistema può essere recuperataDefaultEmojiCompatConfig.create(context)
per ulteriori configurazioni prima di passare aEmojiCompat.init
.