Emoji2
| Ultimo aggiornamento | Release stabile | Candidato per la release | Release beta | Release alpha |
|---|---|---|---|---|
| 10 settembre 2025 | 1.6.0 | - | - | - |
Dichiara le dipendenze
Per aggiungere una dipendenza da Emoji2, devi aggiungere il repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per
la tua app o il tuo modulo:
Alla moda
dependencies { def emoji2_version = "1.6.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.6.0" implementation("androidx.emoji2:emoji2:$emoji2_version") implementation("androidx.emoji2:emoji2-views:$emoji2_version") implementation("androidx.emoji2:emoji2-views-helper:$emoji2_version") }
Per saperne di più sulle dipendenze, consulta Aggiungi dipendenze di build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa libreria. Prima di segnalare un nuovo problema, 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 di Issue Tracker.
Emoji2 Emojipicker versione 1.0
Versione 1.5.0
4 settembre 2024
androidx.emoji2:emoji2-*:1.5.0 è stato rilasciato. La versione 1.5.0 contiene questi commit.
Modifiche importanti dalla versione 1.4.0
- Supporto dell'emoji 15.1 e dell'interfaccia utente del selettore di emoji bidirezionale. Un semplice clic sul selettore bidirezionale consente agli utenti di passare dalla versione delle emoji rivolta a sinistra a quella rivolta a destra.
- Supporta il selettore di emoji con più tonalità della pelle. La pressione prolungata sulle emoji di coppia rivela 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'emoji intera e l'utente può inserirla.
Versione 1.0.0-alpha03
8 marzo 2023
androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03 è stato rilasciato. La versione 1.0.0-alpha03 contiene questi commit.
Correzioni di bug
- Sono state rimosse risorse inutili e la dimensione della libreria è stata ridotta di circa 0,3 MB.
Versione 1.0.0-alpha02
22 febbraio 2023
androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02 è stato rilasciato. La versione 1.0.0-alpha02 contiene questi commit.
Modifiche alle API
- È stata aggiunta una nuova API per i client Java per poter 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 con quella appena selezionata (ad eccezione della riga delle 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 è stato 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 per le emoji più recenti e l'interfaccia utente del selettore di emoji, incluse le varianti di tonalità della pelle e il supporto della compatibilità delle emoji.
Modifiche alle API
- È stata introdotta la classe
EmojiPickerViewche fornisce emoji aggiornate in una visualizzazione verticale scorrevole con un'intestazione orizzontale selezionabile. - Le colonne della griglia del selettore di emoji possono essere impostate tramite l'attributo XML
emojiGridColumnso la funzionesetEmojiGridColumns(). - Le righe della griglia del selettore di emoji possono essere impostate tramite l'attributo XML
emojiGridRowso la funzionesetEmojiGridRows(). - Il listener di emoji selezionate 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) tutte le emoji selezionate verranno salvate a livello di app nelle preferenze condivise. 2) Il selettore mostrerà al massimo tre righe di emoji selezionate, deduplicate, in ordine cronologico inverso. - È stata introdotta la classe
EmojiViewItemche contiene l'emoji visualizzata e le relative varianti. - È stata introdotta l'interfaccia
RecentEmojiProviderche può essere implementata per fornire un elenco di emoji recenti.recentEmojiProviderè responsabile della fornitura delle emoji nella categoria "Usate di recente".
Versione 1.6
Versione 1.6.0
10 settembre 2025
androidx.emoji2:emoji2-*:1.6.0 è stato rilasciato. La versione 1.6.0 contiene questi commit.
Modifiche importanti dalla versione 1.5.0:
- Supporta emoji 16.0
- Aggiungi il suffisso "emoji" alla descrizione dei contenuti delle emoji.
Correzioni di bug
- Spostamento di
minSdkpredefinito dall'API 21 all'API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
Versione 1.6.0-rc01
13 agosto 2025
androidx.emoji2:emoji2-*:1.6.0-rc01 è stato rilasciato. La versione 1.6.0-rc01 contiene questi commit.
Nuove funzionalità
- Supporto di Emoji 16.0 e aggiunta del suffisso "emoji" alla descrizione dei contenuti.
Modifiche alle API
- Rimozione delle annotazioni
@RequiresApi(21)obsolete (Ic4792) - Rimozione delle annotazioni
@RequiresApi(21)obsolete (I9103b)
Versione 1.6.0-beta01
2 luglio 2025
androidx.emoji2:emoji2-*:1.6.0-beta01 è stato rilasciato. La versione 1.6.0-beta01 contiene questi commit.
Nuove funzionalità
- Supporto degli aggiornamenti di Emoji 16.0
- Aggiungi il suffisso "emoji" alla descrizione dei contenuti per assicurarti un comportamento di accessibilità coerente in tutte le app di selezione delle emoji.
Versione 1.6.0-alpha01
4 giugno 2025
androidx.emoji2:emoji2-*:1.6.0-alpha01 è stato rilasciato. La versione 1.6.0-alpha01 contiene questi commit.
Nuove funzionalità
- Aggiornamenti dei dati delle emoji 16.0 (Ifc878)
- Aggiunta del suffisso "emoji" alla descrizione dei contenuti
Correzioni di bug
- Questa libreria ora utilizza le annotazioni di nullabilità JSpecify, che sono di tipo use. Gli sviluppatori Kotlin devono utilizzare i seguenti argomenti del compilatore per garantire un 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 è stato rilasciato. La versione 1.5.0 contiene questi commit.
Modifiche importanti dalla versione 1.4.0
- Supporto dell'emoji 15.1 e dell'interfaccia utente del selettore di emoji bidirezionale. Un semplice clic sul selettore bidirezionale consente agli utenti di passare dalla versione delle emoji rivolta a sinistra a quella rivolta a destra.
- Supporta il selettore di emoji con più tonalità della pelle. La pressione prolungata sulle emoji di coppia rivela 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'emoji intera e l'utente può inserirla.
Versione 1.5.0-rc01
21 agosto 2024
androidx.emoji2:emoji2-*:1.5.0-rc01 è stato rilasciato. La versione 1.5.0-rc01 contiene questi commit.
Nuove funzionalità
- Supporto dell'emoji 15.1 e dell'interfaccia utente del selettore di emoji bidirezionale. Un semplice clic sul selettore bidirezionale consente agli utenti di passare dalla versione delle emoji rivolta a sinistra a quella rivolta a destra e viceversa.
- Supporta il selettore di emoji con più tonalità della pelle. La pressione prolungata sulle emoji di coppia rivela 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'emoji intera e l'utente può inserirla.
Correzioni di bug
- È stata rimossa la definizione manuale dell'accesso alle nuove API della piattaforma, poiché questa avviene automaticamente tramite la modellazione delle 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 client che non utilizzano AGP sono invitati a eseguire l'aggiornamento a D8 versione 8.1 o successive. Consulta questo articolo per ulteriori dettagli. (If6b4c, b/345472586)
- La selezione delle schede e gli aggiornamenti degli indicatori di
EmojiPickerViewsono in ritardo di un clic. (146b02, b/288261054) - La selezione delle schede e l'indicatore di
EmojiPickerViewnon funzionano. (5e1f14, b/273883688)
Versione 1.5.0-beta01
10 luglio 2024
androidx.emoji2:emoji2-*:1.5.0-beta01 è stato rilasciato. La versione 1.5.0-beta01 contiene questi commit.
Nuove funzionalità
- Supporto dell'emoji 15.1 e dell'interfaccia utente di selezione bidirezionale delle emoji.
- Supporto della riprogettazione della selezione di più tonalità della pelle.
Correzioni di bug
- La selezione delle schede e gli aggiornamenti degli indicatori di
EmojiPickerViewsono in ritardo di un clic. (146b02, b/288261054) - La selezione delle schede e l'indicatore di
EmojiPickerViewnon funzionano. (5e1f14, b/273883688)
Versione 1.5.0-alpha01
13 dicembre 2023
androidx.emoji2:emoji2-*:1.5.0-alpha01 è stato rilasciato. La versione 1.5.0-alpha01 contiene questi commit.
Nuove funzionalità
emoji2-bundledcontiene un carattere emoji aggiornato per supportare Emoji 15.1.
Modifiche alle API
- Aggiungi esecutori per controllare il thread di callback per
InitCallback. (I32b67) BundledEmojiCompatConfigora richiede un executor per controllare i thread di caricamento. (I00e81)
Versione 1.4
Versione 1.4.0
9 agosto 2023
androidx.emoji2:emoji2-*:1.4.0 è stato 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 è stato rilasciato. La versione 1.4.0-rc01 contiene questi commit.
Modifiche alle 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,NoDataeConsentRequiredStates. È stata aggiunta la classe autonomaExerciseRoute, che contiene i dati sulla posizione per l'itinerario. (I22eed) - È stato introdotto
PagerLayoutInfocon le informazioni raccolte dopo un passaggio di misurazione in Pager. È stata introdotta anche PageInfo, le informazioni su una singola pagina misurata in Pager. (Iad003, b/283098900)
Correzioni di bug
- Abbiamo aggiornato i colori per
Button,IconButtoneTextButtonin linea con il design Material3. Il ruolo semantico perButton,IconButtoneTextButtonora può essere sostituito utilizzandoModifier.semantics. (Ib2495) - È stato risolto il problema relativo alla selezione delle schede e agli aggiornamenti degli indicatori di
EmojiPickerViewcon un clic di ritardo. (I4db04) FileNotFoundExceptionsulla visualizzazione del selettore di emoji (I353e4)- Catch the
WindowManager.BadTokenExceptionwhen usingEmojiPickerView(I0a144)
Versione 1.4.0-beta05
7 giugno 2023
androidx.emoji2:emoji2-*:1.4.0-beta05 è stato 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 due volte di
MetricsAffectingSpanscomeRelativeSizeSpan. Una volta durante il layout del testo e di nuovo all'interno diEmojiSpan.draw. Il risultato era un disegno di dimensioni errate, visibile se uno dei parametri di dimensione del testo era stato modificato dallo span. (b/283208650)
Versione 1.4.0-beta04
24 maggio 2023
androidx.emoji2:emoji2-*:1.4.0-beta04 è stato rilasciato. La versione 1.4.0-beta04 contiene questi commit.
Questa release corregge un bug presente dalla versione 1.0 in cui le visualizzazioni con un gestore non principale generavano un'eccezione quando si tentava di aggiornare gli intervalli di emoji dopo il completamento 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
EmojiCompatora utilizzeranno l'handler 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 è stato 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 è stato 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 è stato 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 il proprio selettore di emoji da zero.
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 del rendering delle emoji per eliminare i caratteri tofu. In questo modo, la libreria sarà compatibile con più versioni e dispositivi Android.
Varianti persistenti
Se tieni premuto 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 variante selezionata verrà utilizzata nel riquadro principale. Con questa funzionalità, gli utenti possono inviare le loro varianti di emoji preferite con un solo tocco.
Emoji recenti
RecentEmojiProvider è responsabile della fornitura delle emoji nella categoria "Usate di recente". La libreria ha un provider di emoji recenti 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, questa 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:$versioninbuild.gradle.dependencies { implementation "androidx.emoji2:emojipicker:$version" }Gonfia la visualizzazione del selettore di emoji e imposta facoltativamente
emojiGridRowseemojiGridColumnsin 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 visualizzazione principale e aemojiGridColumns. - Puoi impostare
emojiGridRowscome float per indicare che ci sono altre 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" />- 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)
Se vuoi aggiungere 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 ignorare gli attributi del tema comuni e applicarlo a
EmojiPickerView. Ad esempio, la sovrascrittura dicolorControlNormalcambierà 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 superficie API completa qui.
App di esempio
Questa app di esempio mostra i casi d'uso di base e i seguenti scenari aggiuntivi:
- Il layout della visualizzazione è stato modificato perché
emojiGridRowseemojiGridColumnssono stati reimpostati. - Il fornitore di emoji recenti viene sostituito per ordinare in base alla frequenza.
- Personalizzazione dello stile.
Modifiche alle API
La libreria Emoji Picker è stata aggiornata con le seguenti nuove API:
- La classe
EmojiPickerView, che fornisce emoji aggiornate in una visualizzazione verticale scorrevole con un'intestazione orizzontale selezionabile. - La possibilità di impostare il numero di colonne e righe nella griglia del selettore di emoji tramite gli attributi XML
emojiGridColumnseemojiGridRowso i metodisetEmojiGridColumns()esetEmojiGridRows(). - La possibilità di impostare un listener di emoji selezionate tramite il metodo
setOnEmojiPickedListener(). L'ascoltatore riceverà una notifica ogni volta che l'utente fa clic su un'emoji. - 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:- Tutte le emoji selezionate verranno salvate a livello di app nelle preferenze condivise.
- Il selettore mostrerà al massimo tre 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è responsabile della fornitura delle emoji nella categoria "Usate di recente". - L'interfaccia
RecentEmojiAsyncProvider, che può essere implementata per fornire un elenco di emoji recenti.RecentEmojiAsyncProviderè responsabile della fornitura delle emoji nella categoria "Usate di recente". Questa interfaccia è equivalente aRecentEmojiProviderche consente ai client di eseguire l'override del metodogetRecentEmojiListAsync()per fornire emoji recenti. - La classe
RecentEmojiProviderAdapter, che è un adattatore perRecentEmojiAsyncProvidere implementaRecentEmojiProvider.
Versione 1.4.0-alpha01
22 marzo 2023
androidx.emoji2:emoji2-*:1.4.0-alpha01 è stato rilasciato. La versione 1.4.0-alpha01 contiene questi commit.
Correzioni di bug
- Correzione dei test, disattivazione dei test non deterministici e pulizia.
Versione 1.3
Versione 1.3.0
22 marzo 2023
androidx.emoji2:emoji2-*:1.3.0 è stato rilasciato. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
- Questa release consente a Compose Foundation
1.4.0e versioni successive di attivare l'integrazione di emoji2. - Consente inoltre funzionalità per la sostituzione di
EmojiSpanscon codice di disegno personalizzato, nonché il supporto per le esclusioni di emoji definite su Android.
Versione 1.3.0-rc01
8 marzo 2023
androidx.emoji2:emoji2-*:1.3.0-rc01 è stato rilasciato. La versione 1.3.0-rc01 contiene questi commit.
Nuove funzionalità
- Questa versione supporta l'integrazione della composizione di emoji2.
Modifiche alle API
- Sostituisci gli intervalli per il codice di disegno personalizzato.
- Esecuzione di query sulle esclusioni del sistema.
Correzioni di bug
- È stato corretto un bug per cui gli intervalli 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 sono stati rilasciati.
22 febbraio 2023
androidx.emoji2:emoji2:1.3.0-beta03 è stato rilasciato. La versione 1.3.0-beta03 contiene questi commit.
Nuove funzionalità
- Nessuna modifica. Questa release serve a preparare l'integrazione della composizione.
Versione 1.3.0-beta02
8 febbraio 2023
androidx.emoji2:emoji2-*:1.3.0-beta02 è stato rilasciato. La versione 1.3.0-beta02 contiene questi commit.
Nuove funzionalità
- Questa release è una stabilizzazione per supportare l'integrazione di Compose.
Versione 1.3.0-beta01
25 gennaio 2023
androidx.emoji2:emoji2-*:1.3.0-beta01 è stato rilasciato. La versione 1.3.0-beta01 contiene questi commit.
Nuove funzionalità
- Esecuzione di query sulle esclusioni del sistema.
- Sostituzione degli intervalli per il codice di disegno personalizzato.
- È stato corretto un bug per cui gli intervalli di sfondo non venivano applicati correttamente dietro
EmojiSopans. - Questa release aggiunge le API necessarie per supportare
EmojiCompatin Compose. Il supporto per la composizione per la compatibilità delle emoji sarà disponibile in una release futura.
Versione 1.3.0-alpha01
11 gennaio 2023
androidx.emoji2:emoji2-*:1.3.0-alpha01 è stato rilasciato. La versione 1.3.0-alpha01 contiene questi commit.
Nuove API per interazioni di basso livello
- Esecuzione di query sulle esclusioni del sistema
- Sostituzione degli span per il codice di disegno personalizzato
- È stato corretto un bug per cui gli intervalli di sfondo non venivano applicati correttamente dietro
EmojiSopans. - Questa release aggiunge le API necessarie per supportare
EmojiCompatin Compose. Il supporto per la composizione per la compatibilità delle emoji sarà disponibile in una release futura.
Modifiche alle API
- È stata aggiunta la possibilità di eseguire query sulle esclusioni di sistema in
TypefaceEmojiRasterizer. (I5653e) - È stata aggiunta una nuova API
EmojiCompat.SpanFactoryper sostituire il comportamento predefinitoEmojiSpancon codice di disegno e dimensionamento personalizzato. (Ib69d9) - Aggiunta di
EmojiCompata Scrivi (I96f37, b/139326806)
Correzioni di bug
- Emoji2 ora disegnerà correttamente gli sfondi da
BackgroundSpan. (Ide6a8, b/230525134) - Finalizza le API AppCompat per la versione 1.5.0-beta01 (I2a43d, b/236866227)
Versione 1.2
Versione 1.2.0
10 agosto 2022
androidx.emoji2:emoji2-*:1.2.0 è stato 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 aggiunta dalla versione 1.1.0.
Tuttavia, le app che utilizzano PrecomputedText o TextView.setText(char[]) devono
dare la priorità all'aggiornamento a questa versione.
Sono stati corretti i seguenti bug:
Emoji2aggiungerà emoji aPrecomputedTexteliminando il layout di testo precedentemente precalcolato. (I47d06, b/211231958)- Esegui il backporting della correzione dell'arresto anomalo dell'editor da Android P a
EditTextconfigurato per l'utilizzo di emoji2. (Ifd709, b/216891011) - È stato corretto l'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 è stato rilasciato. La versione 1.2.0-rc01 contiene questi commit.
- Nessuna modifica rispetto all'ultima versione beta.
Versione 1.2.0-beta01
13 luglio 2022
androidx.emoji2:emoji2-*:1.2.0-beta01 è stato 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 è stato 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 è stato rilasciato. La versione 1.2.0-alpha03 contiene questi commit.
Nuove funzionalità
- Nessuna modifica rispetto all'ultima versione (questa release supporta la release appcompat).
Versione 1.2.0-alpha02
23 marzo 2022
androidx.emoji2:emoji2-*:1.2.0-alpha02 è stato rilasciato. La versione 1.2.0-alpha02 contiene questi commit.
Correzioni di bug
- Emoji2 aggiungerà emoji a
PrecomputedTexteliminando il layout del testo precalcolato in precedenza. (I47d06, b/211231958) - Esegui il backporting della correzione dell'arresto anomalo dell'editor da Android P a EditText configurato per l'utilizzo di emoji2. (Ifd709, b/216891011)
- È stato corretto l'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 è stato 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 è stato 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
getEmojiMatchrestituisce informazioni accurate per le tastiere per decidere come verrà visualizzata un'emoji in presenza di un carattere compatibile con le emoji che si trova dietro il carattere di sistema - Correzione di bug per
NumberKeyListenerche consente di filtrare correttamente i caratteri.
Versione 1.1.0-rc01
9 febbraio 2022
androidx.emoji2:emoji2-*:1.1.0-rc01 è stato 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-bundledcontiene il carattere emoji 14- La nuova API
getEmojiMatchrestituisce informazioni accurate per le tastiere per decidere come verrà visualizzata un'emoji in presenza di un carattere compatibile con le emoji che si trova dietro il carattere di sistema - Correzione di bug per
NumberKeyListenerche consente di filtrare correttamente i caratteri durante l'inserimento delle cifre
Versione 1.1.0-beta01
26 gennaio 2022
androidx.emoji2:emoji2-*:1.1.0-beta01 è stato rilasciato. La versione 1.1.0-beta01 contiene questi commit.
Correzioni di bug
- androidx-emoji2 beta01 release. Nessuna modifica rispetto ad alpha01 (Ic61d9)
Versione 1.1.0-alpha01
15 dicembre 2021
androidx.emoji2:emoji2-*:1.1.0-alpha01 è stato rilasciato. La versione 1.1.0-alpha01 contiene questi commit.
Nuove funzionalità
emoji2-bundledcontiene il carattere emoji 14- La nuova API
getEmojiMatchrestituisce informazioni accurate per le tastiere per decidere come verrà visualizzata un'emoji in presenza di un carattere compatibile con le emoji che si trova dietro il carattere di sistema - Correzione di bug per
NumberKeyListenerche consente di filtrare correttamente i caratteri durante l'inserimento delle cifre
Modifiche alle API
- Aggiungi la nuova API
getEmojiMatchper consentire alle tastiere di cercare in modo più accurato il comportamento di corrispondenza delle emoji in emojicompat. - Ritira
hasEmojiGlyph, in quanto il valore booleano restituito è impreciso quando viene testato rispetto a un carattere precedente al carattere emoji della piattaforma. Sostituisci congetEmojiMatch. (Ie693d)
Correzioni di bug
- Emoji2 non eseguirà il wrapping delle istanze di
NumberKeyListener, consentendo la configurazione delle impostazioni internazionali da parte diTextView. - Appcompat non eseguirà il wrapping delle istanze di
NumberKeyListenerpassate asetKeyListener, consentendo aTextViewdi configurare correttamente le impostazioni internazionali suNumberKeyListeners. (Ibf113, b/207119921)
1.0
Versione 1.0.1
15 dicembre 2021
androidx.emoji2:emoji2-*:1.0.1 è stato rilasciato. La versione 1.0.1 contiene questi commit.
Correzioni di bug
Emoji2non eseguirà il wrapping delle istanze diNumberKeyListener, consentendo la configurazione delle impostazioni internazionali da parte diTextView.- Appcompat non eseguirà il wrapping delle istanze di
NumberKeyListenerpassate asetKeyListener, consentendo aTextViewdi configurare correttamente le impostazioni internazionali suNumberKeyListeners. (Ibf113, b/207119921)
Versione 1.0.0
17 novembre 2021
androidx.emoji2:emoji2-*:1.0.0 è stato 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 saperne di più su androidx.emoji2, consulta Supporto delle emoji moderne e la nostra conferenza all'Android Dev Summit Displaying ALL the emojis in your app Android Dev.
Versione 1.0.0-rc01
27 ottobre 2021
androidx.emoji2:emoji2-*:1.0.0-rc01 è stato 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 è stato rilasciato. La versione 1.0.0-beta01 contiene questi commit.
Modifiche alle API
Aggiunta di
setLoadingExecutoraFontRequestEmojiCompatConfig, che sostituisce l'API precedente disetHandler. Questa API consente alle app di configurareFontRequestEmojiCompatConfigper utilizzare qualsiasi executor in background.Questa modifica è una modifica che causa interruzioni rispetto a
androidx.emoji:emoji, quindisetHandlerviene mantenuta come API deprecata no-op per facilitare la migrazione. (I6cd48)EmojiCompat imposta correttamente
EditorInfo.extrassu Android 11- I widget personalizzati che utilizzano l'IME senza sottoclassi EditText possono chiamare
EmojiCompat.updateEditorInfoper comunicare all'IME che supportano l'elaborazione EmojiCompat. (I1ea9b)
- I widget personalizzati che utilizzano l'IME senza sottoclassi EditText possono chiamare
Correzioni di bug
- Correggi
DefaultEmojiCompatConfigper cercare correttamente il provider di caratteri emoji nelle API 19 e 28. Questo aggiornamento 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 è stato rilasciato. La versione 1.0.0-alpha03 contiene questi commit.
Nuove funzionalità
Questa release include correzioni di bug e miglioramenti della stabilità.
- EmojiEditTextHelper ora consente di passare
nullcome KeyListener. Ciò consente di applicare il comportamento della piattaforma che consente i valori null alle implementazioni EditText che supportano le emoji. - Quando si utilizza EmojiCompatInitializer, il ritardo di avvio iniziale viene migliorato per attivarsi dopo la ripresa della prima attività. In questo modo, l'avvio dell'app avviene senza contese ed evita di caricare il carattere per gli avvii di 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-processa partire daandroidx.emoji2:emoji2. L'impatto sulle dimensioni dell'APK sarà trascurabile per le app che includono già il ciclo di vita (ad esempio le app con appcompat).
Modifiche alle API
- Consenti KeyListener nullo in AppCompatEditText. In questo modo viene invertita l'annotazione non nulla aggiunta ad AppCompatEditText nella versione 1.4.0-alpha01 e viene ripristinato il comportamento precedente quando viene passato null. (I21482, b/189559345)
Correzioni di bug
- Modifica EmojiCompatInitializer per ritardare il caricamento dei caratteri fino a
500 ms dopo il primo
Activity.onResume. Ciò consente a un'attività di eseguireApplication.onCreateeActivity.onCreatesenza contese, garantendo comunque 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 sono stati rilasciati. La versione 1.0.0-alpha02 contiene questi commit.
Modifiche alle API
- Pacchetto rinominato in
emoji2-views-helperinandroidx.emoji2.viewsintegration. Si tratta di una modifica che causa interruzioni per AppCompat1.4.0-alpha01e le app devono assicurarsi che la dipendenza AppCompat venga aggiornata per 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 sono stati 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 a partire dall'API 19. Tutti i contenuti generati dagli utenti nella tua app contengono 🎉.
EmojiCompat è stato spostato dagli artefatti androidx.emoji ai nuovi androidx.emoji2, ora in alpha01. I nuovi artefatti sostituiscono la versione precedente.
emoji2 viene aggiunto come dipendenza ad AppCompat a partire da AppCompat 1.4.0-alpha01 ed è attivato per impostazione predefinita per le visualizzazioni AppCompat.
L'artefatto emoji2 introduce una nuova configurazione automatica utilizzando la libreria androidx.startup. Non devi più scrivere codice 👨🏽💻 per visualizzare 🐻❄️.
Modifiche in emoji2 rispetto a emoji
- È stata aggiunta una nuova configurazione automatica
EmojiCompatInitializerutilizzandoandroidx.startup. - È stata aggiunta una nuova configurazione predefinita che utilizza la posizione del servizio per trovare un fornitore di caratteri scaricabili in
DefaultEmojiCompatConfiguration. - Le classi sono state spostate dal pacchetto
androidx.emojiaandroidx.emoji2. - Dividi
EmojiTextViewe le visualizzazioni correlate in un artefatto separatoemoji2-views. Questa opzione deve essere utilizzata solo se la tua app non utilizza appcompat. - Helper estratti per l'integrazione di emojicompat nelle visualizzazioni personalizzate in un artefatto separato
emoji2-views-helper. - Sono state aggiunte annotazioni di nullabilità.
- Ora gli helper in
emoji2-views-helperpossono essere utilizzati anche quandoEmojiCompatnon è inizializzato (in precedenza generavano un'eccezione).
Quale dipendenza devi aggiungere?
- Le app con AppCompat devono eseguire l'upgrade alla versione AppCompat
1.4.0-alpha01o successive. - Le app senza AppCompat che utilizzano
TextView/EditTextdalla piattaforma devono utilizzareEmojiTextViewe le classi correlate diemoji2-views.
Come supportare le visualizzazioni personalizzate
- Le app con AppCompat devono estendere
AppCompatTextView,AppCompatButtone così via anzichéTextViewe così via. - Le app senza AppCompat devono aggiungere la dipendenza
androidx.emoji2:emoji2-views-helpere utilizzare gli helper per l'integrazione con le sottoclassiTextViewoEditTextpersonalizzate.
Configurazione dell'inizializzazione automatica
Le app possono disattivare l'inizializzazione automatica aggiungendo questo 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>In questo modo la configurazione automatica viene disattivata e puoi passare una configurazione personalizzata a
EmojiCompat.init. La configurazione predefinita del sistema può essere recuperataDefaultEmojiCompatConfig.create(context)per un'ulteriore configurazione prima di passare aEmojiCompat.init.