Aggiornamento più recente | Release stabile | Candidato per la release | Versione beta | Release 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, consulta Aggiungere dipendenze build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se rilevi nuovi problemi o hai idee per migliorare la libreria. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne una nuova. 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.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 sono state ridotte le dimensioni della libreria 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 i client Java che consentono di fornire 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 alle emoji appena selezionate (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 nei dispositivi e nelle app OEM con sistema operativo Android. Offre il supporto più recente e l'UI del selettore di emoji, con le varianti della tonalità della pelle e la compatibilità delle emoji.
Modifiche alle API
- È stata introdotta la classe
EmojiPickerView
che fornisce emoji aggiornate in una visualizzazione verticale scorrevole 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()
. - È possibile impostare il listener di emoji selezionato tramite
setOnEmojiPickedListener()
e l'ascoltatore riceverà una notifica ogni volta che l'utente fa clic su un'emoji. - Il recente fornitore di emoji può essere fornito con
setRecentEmojiProvider()
. Si tratta di una funzione facoltativa. Se non è impostato un fornitore di emoji recente, la raccolta utilizzerà un fornitore di emoji recente 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 3 righe di emoji selezionate, deduplicate, in ordine cronologico inverso. - È stata introdotta la classe
EmojiViewItem
che include l'emoji visualizzata e le relative varianti. - È stata introdotta 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".
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 le 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
- È stata introdotta la raccolta del selettore di emoji. Per ulteriori dettagli, consulta il documento 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 alle API
- Presenta l'elenco
registerSource
(Iae92f) - Feedback del Consiglio dell'API: rinominato
TransitionManager.seekTo()
increateSeekController()
. Modifica il commento precedente sull'aggiunta diTransitionManager.seekTo()
aTransitionManager.createSeekController()
. (Idbeb1) - È stata aggiunta
ExerciseRouteResult
, che non è la superclasse perData
,NoData
eConsentRequiredStates
.ExerciseRoute
aggiunto come corso autonomo che contiene i dati sulla posizione per il percorso. (I22eed) - Introdotta
PagerLayoutInfo
con informazioni raccolte dopo il superamento di una misura nel Pager. Sono state introdotte anche le informazioni su una singola pagina misurata nel Cercapersone. (Iad003, b/283098900).
Correzioni di bug
- Abbiamo aggiornato i colori di
Button
,IconButton
eTextButton
in linea con il design di Material3. Ora il ruolo semantico perButton
,IconButton
eTextButton
può essere sostituito utilizzandoModifier.semantics
. (Ib2495) - La selezione delle schede e l'indicatore di
EmojiPickerView
si aggiornano con un clic. (I4db04) FileNotFoundException
sulla visualizzazione del selettore di emoji (I353e4)- Prendi il
WindowManager.BadTokenException
quando usiEmojiPickerView
(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 che causava una doppia applicazione di
MetricsAffectingSpans
comeRelativeSizeSpan
. Una volta durante il layout del testo e di nuovo all'interno diEmojiSpan.draw
. Il risultato è stato dimensionato in modo errato nel disegno, 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.
In questa release è stato corretto un bug presente a partire dalla versione 1.0, per cui le visualizzazioni con un gestore non principale generavano un'eccezione quando si cerca di aggiornare gli intervalli delle emoji al termine del caricamento del carattere. Non esiste una soluzione alternativa. Se riscontri questo bug, esegui l'upgrade a questa versione o a una versione successiva.
Correzioni di bug
- I callback init
EmojiCompat
ora utilizzeranno il gestore di ogni visualizzazione, 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 vista popup nidificata del selettore di emoji. (0acc8e).
- Genera eccezioni iniziali 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 o scegliere tra quelle usate 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 che verranno incluse nel selettore di emoji in modo selettivo. Per garantire la compatibilità con le versioni precedenti, eseguiamo internamente un controllo accurato della visualizzazione delle emoji per eliminare il tofu. In questo modo ti assicuri che la raccolta sia compatibile tra più versioni e dispositivi Android.
Varianti persistenti
Se premi a lungo un'emoji, viene visualizzato un menu di varianti, ad esempio diversi generi o tonalità della pelle. 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 varianti di emoji preferite con un solo tocco.
Emoji recenti
RecentEmojiProvider
si occupa di fornire emoji nella categoria "Utilizzate di recente". La libreria ha un provider 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 3 righe di emoji selezionate, deduplicate, in ordine cronologico inverso.
Se questo comportamento predefinito è sufficiente, non è necessario impostare il metodo setRecentEmojiProvider()
.
Lavora 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
viene disattivato, il selettore di emoji continuerà a funzionare correttamente.
Come utilizzare la raccolta
Per poter usare la libreria, uno sviluppatore di app deve
Importa
androidx.emoji2:emojipicker:$version
inbuild.gradle
.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Aumenta la visualizzazione del selettore di emoji e, se vuoi, imposta
emojiGridRows
eemojiGridColumns
in base alle dimensioni desiderate per ogni cella di emoji- Se non vengono impostate, il valore predefinito è 9
emojiGridColumns
. Le righe verranno calcolate in base all'altezza della vista principale e aemojiGridColumns
- Puoi impostare
emojiGridRows
come numero in virgola mobile 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" />
- Se non vengono impostate, 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 aggiungere le emoji selezionate a un elemento di modifica, usa
setOnEmojiPickedListener()
emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }
(Facoltativo) Imposta
RecentEmojiProvider
. Visualizza l'app di esempio per un esempio di implementazione.Se vuoi, personalizza gli stili. Crea il tuo stile per sostituire gli attributi dei temi comuni e applicare lo stile a
EmojiPickerView
. Ad esempio, se sostituiscicolorControlNormal
cambierà 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" />
Consulta l'app di esempio per un esempio di implementazione.
Puoi trovare una superficie API completa qui.
App di esempio
Questa app di esempio illustra casi d'uso di base e i seguenti scenari aggiuntivi:
- Il layout della vista è stato modificato perché
emojiGridRows
eemojiGridColumns
sono stati reimpostati. - Il fornitore di emoji recente 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
eemojiGridRows
o i metodisetEmojiGridColumns()
esetEmojiGridRows()
. - È possibile impostare un listener di emoji selezionato tramite il metodo
setOnEmojiPickedListener()
. L'ascoltatore riceverà una notifica ogni volta che l'utente farà clic su un'emoji. - È possibile fornire un fornitore di emoji recente tramite il metodo
setRecentEmojiProvider()
. Si tratta di una funzione facoltativa. Se non è impostato un fornitore di emoji recente, 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 le emoji visualizzate 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 è equivalente aRecentEmojiProvider
, che consente ai client di eseguire l'override del 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 in caso di flake e correggi.
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 con emoji2. - Consente inoltre di funzionalità per la sostituzione di
EmojiSpans
con codice disegno personalizzato, nonché supporto per 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 scrittura di emoji2.
Modifiche alle API
- Sostituisci gli intervalli per il codice disegno personalizzato.
- Esecuzione di query sulle esclusioni di sistema.
Correzioni di bug
- È stato corretto un bug per cui le sezioni dello sfondo non venivano applicate 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 serve a preparare l'integrazione di Scrivi.
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 Scrivi.
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 un codice disegno personalizzato.
- È stato corretto un bug per cui le sezioni dello sfondo non venivano applicate correttamente dietro
EmojiSopans
. - In questa release sono state aggiunte le API necessarie per supportare
EmojiCompat
in Compose. Il supporto per la scrittura delle emoji dovrebbe essere disponibile in una versione 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 un codice disegno personalizzato
- È stato corretto un bug per cui le sezioni dello sfondo non venivano applicate correttamente dietro
EmojiSopans
. - In questa release sono state aggiunte le API necessarie per supportare
EmojiCompat
in Compose. Il supporto per la scrittura delle emoji dovrebbe essere disponibile in una versione futura.
Modifiche alle API
- 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 codice di disegno e dimensioni personalizzato. (Ib69d9). EmojiCompat
aggiunto a Compose (I96f37, b/139326806)
Correzioni di bug
- Emoji2 ora disegnerà correttamente gli sfondi di
BackgroundSpan
. (Ide6a8, b/230525134). - Finalizza 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 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 aPrecomputedText
ignorando il layout di testo precalcolato in precedenza. (I47d06, b/211231958).- Correzione dell'arresto anomalo dell'editor di backport da Android P a
EditText
, configurato per l'utilizzo di emoji2. (Ifd709, b/216891011) - È stato corretto 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 deve supportare la release di 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 deve 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à emoji a
PrecomputedText
eliminando il layout di testo precalcolato in precedenza. (I47d06, b/211231958). - Correzione dell'arresto anomalo dell'editor di backport da Android P a EditText, configurato per l'utilizzo di emoji2. (Ifd709, b/216891011)
- È stato corretto 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 set di emoji 2 contiene il carattere delle 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 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 rispetto alla 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 verrà visualizzata 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-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 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 dietro al carattere di sistema. - Correzione di bug per
NumberKeyListener
che consente di filtrare correttamente i caratteri per l'inserimento delle cifre
Modifiche alle API
- Aggiungi la nuova API
getEmojiMatch
per consentire alle tastiere di cercare in modo più accurato il comportamento delle corrispondenze delle emoji in emojicompat. - Ritira
hasEmojiGlyph
, poiché il suo valore restituito booleano non è preciso durante il test con un carattere più vecchio del carattere delle emoji della piattaforma. Sostituisci congetEmojiMatch
. (Ie693d)
Correzioni di bug
- Emoji2 non esegue il wrapping delle istanze di
NumberKeyListener
, consentendo di configurare le 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)
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 di configurare le impostazioni internazionali daTextView
.- 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 degli APK rispetto ad androidx.emoji
- Configurazione automatica
- Aggiunta come dipendenza ad appcompat 1.4
Per maggiori informazioni su androidx.emoji2, consulta la pagina Supportare le emoji moderne e il nostro discorso all'Android Dev Summit Visualizzazione di 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
È stata aggiunta l'API
setLoadingExecutor
aFontRequestEmojiCompatConfig
, che sostituisce la precedente API disetHandler
. Questa API consente alle app di configurareFontRequestEmojiCompatConfig
per usare qualsiasi esecutore in background.Questa modifica è una modifica che provoca un errore rispetto a
androidx.emoji:emoji
, quindisetHandler
viene conservato come API deprecata autonoma per facilitare la migrazione. (I6cd48)EmojiCompat imposta correttamente
EditorInfo.extras
su Android 11- I widget personalizzati che utilizzano l'IME che non sottoclassificano EditText possono chiamare
EmojiCompat.updateEditorInfo
per comunicare all'IME che supporta l'elaborazione EmojiCompat. (I1ea9b).
- I widget personalizzati che utilizzano l'IME che non sottoclassificano EditText possono chiamare
Correzioni di bug
- Correggi
DefaultEmojiCompatConfig
per cercare correttamente il fornitore di caratteri emoji sulle API 19 e 28. È stato corretto 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 stabilizzazione e di correzione di bug.
- EmojiEditTextHelper ora consente di passare
null
come KeyListener. Ciò consente il comportamento della piattaforma di applicazione di valori null alle emoji che supportano le implementazioni di EditText. - Quando usi EmojiCompatInitializer, il ritardo di avvio iniziale viene migliorato per l'attivazione dopo il ripresa della prima attività. In questo modo l'avvio dell'app può avvenire in modo non contendente 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 delle emoji.
- Per implementare il ritardo, viene aggiunta una nuova dipendenza su
androidx.lifecycle:lifecycle-process
daandroidx.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 non null aggiunta ad AppCompatEditText in 1.4.0-alpha01 e ripristina 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 i primi
Activity.onResume
. In questo modo un'attività può eseguireApplication.onCreate
eActivity.onCreate
senza restrizioni, 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 alle API
- Rinominato pacchetto in
emoji2-views-helper
inandroidx.emoji2.viewsintegration
. Questa è una modifica che provoca un errore per AppCompat1.4.0-alpha01
e le app devono garantire che la dipendenza AppCompat sia 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à di questa release iniziale
L'integrazione di 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 aggiunta come dipendenza ad AppCompat a partire da AppCompat 1.4.0-alpha01
ed è abilitata per impostazione predefinita per le viste AppCompat.
L'elemento emoji2
introduce una nuova configurazione automatica che utilizza la libreria androidx.startup
. Non è più necessario scrivere un codice 👨🏽 UE per visualizzare sandbox ng️.
Modifiche alle emoji 2 rispetto alle emoji
- È stata aggiunta la nuova configurazione automatica
EmojiCompatInitializer
utilizzandoandroidx.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
aandroidx.emoji2
. - Suddividi
EmojiTextView
e le visualizzazioni correlate in un elemento separatoemoji2-views
. Deve essere utilizzato solo se la tua app non utilizza appcompat. - helper estratti per integrare emojicompat in visualizzazioni personalizzate in un artefatto separato
emoji2-views-helper
. - Sono state aggiunte annotazioni con supporto di valori null.
- Ora è possibile usare gli helper in
emoji2-views-helper
anche seEmojiCompat
non è stato inizializzato (in precedenza rappresentavano 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
dalla piattaforma devono usareEmojiTextView
e i corsi correlati 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 dovrebbero aggiungere la dipendenza
androidx.emoji2:emoji2-views-helper
e usare helper per l'integrazione con le sottoclassiTextView
oEditText
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>
La configurazione automatica verrà disattivata, dopodiché potrai passare una configurazione personalizzata a
EmojiCompat.init
. La configurazione predefinita del sistema può essere recuperata inDefaultEmojiCompatConfig.create(context)
per un'ulteriore configurazione prima di passarla aEmojiCompat.init
.