Emoji2
Aggiornamento più recente | Release stabile | Candidato per l'uscita | Versione beta | Release alpha |
---|---|---|---|---|
10 luglio 2024 | 1.4.0 | - | 1.5.0-beta01 | - |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza su Emoji2, devi aggiungere il Repository Maven di Google al tuo progetto. Consulta il Repository Maven di Google per ulteriori informazioni.
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 saperne di più sulle dipendenze, consulta Aggiungere dipendenze nella build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Non esitare a contattarci in caso di nuovi problemi o idee per migliorare questa raccolta. Dai un'occhiata alle problemi esistenti in questa raccolta, prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente tramite facendo clic sul pulsante a forma di stella.
Consulta la documentazione di Issue Tracker per ulteriori informazioni.
Emoji2 Emojipicker Versione 1.0
Versione 1.0.0-alpha03
8 marzo 2023
Viene rilasciato androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03
. La versione 1.0.0-alpha03 contiene questi commit.
Correzioni di bug
- Sono state rimosse le risorse non necessarie e le dimensioni della libreria sono state ridotte di circa 0,3 milioni.
Versione 1.0.0-alpha02
22 febbraio 2023
Viene rilasciato androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02
. La versione 1.0.0-alpha02 contiene questi commit.
Modifiche alle API
- È stata aggiunta una nuova API per consentire ai client Java di fornire emoji recenti. (I39d10)
Correzioni di bug
- Aggiorna le risorse relative alle emoji per supportare le emoji 15.0 (Ib4eb3)
- Quando selezioni un'emoji dalla finestra popup, aggiorna tutte le emoji identiche con quelle appena selezionate (ad eccezione della barra delle emoji recenti). Annuncia anche l'emoji quando fai clic. (I892c6)
- Attendi il caricamento di emojicompat prima di visualizzare
EmojiPickerView
. (I29e03)
Versione 1.0.0-alpha01
25 gennaio 2023
Viene rilasciato androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01
. 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 ultime emoji sui dispositivi e nelle app OEM con sistema operativo Android. Fornisce il supporto più recente per le emoji e l'interfaccia utente del selettore di emoji, comprese le varianti della tonalità della pelle e le compatibili con le emoji.
Modifiche alle API
- È stato introdotto il corso
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()
. - Il listener di emoji scelto può essere impostato tramite
setOnEmojiPickedListener()
e l'ascoltatore riceverà una notifica ogni volta che l'utente fa clic su un'emoji. - Il fornitore di emoji recente può essere fornito con
setRecentEmojiProvider()
. Questa è una funzione facoltativa. Se il fornitore di emoji recente non è impostato, nella raccolta verrà utilizzato 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 contiene l'emoji visualizzata e le relative varianti. - È stata introdotta l'interfaccia di
RecentEmojiProvider
che può essere implementata per fornire un elenco recente di emoji. L'recentEmojiProvider
è tenuta a fornire le emoji nella categoria "Utilizzate di recente".
Versione 1.5
Versione 1.5.0-beta01
10 luglio 2024
Viene rilasciato androidx.emoji2:emoji2-*:1.5.0-beta01
. La versione 1.5.0-beta01 contiene questi commit.
Nuove funzionalità
- Supporto di emoji 15.1 e UI di selezione delle emoji bidirezionali.
- Sostieni la riprogettazione della selezione della pelle con più tonalità.
Correzioni di bug
- La selezione e l'indicatore delle schede di
EmojiPickerView
si aggiornano con un clic. (146b02, b/288261054) - La selezione e l'indicatore della scheda di
EmojiPickerView
non funzionano. (5e1f14, b/273883688)
Versione 1.5.0-alpha01
13 dicembre 2023
Viene rilasciato androidx.emoji2:emoji2-*:1.5.0-alpha01
. La versione 1.5.0-alpha01 contiene questi commit.
Nuove funzionalità
emoji2-bundled
contiene un carattere emoji aggiornato per supportare Emoji 15.1.
Modifiche alle API
- Aggiungi esecutori per controllare il thread di callback per
InitCallback
. (I32b67). BundledEmojiCompatConfig
ora richiede un esecutore per controllare il caricamento dei thread. (I00e81)
Versione 1.4
Versione 1.4.0
9 agosto 2023
Viene rilasciato androidx.emoji2:emoji2-*:1.4.0
. La versione 1.4.0 contiene questi commit.
Modifiche importanti dalla versione 1.3.0
- Introduzione della libreria del selettore di emoji. Per ulteriori dettagli, consulta la documentazione per gli sviluppatori.
Versione 1.4.0-rc01
26 luglio 2023
Viene rilasciato androidx.emoji2:emoji2-*:1.4.0-rc01
. La versione 1.4.0-rc01 contiene questi commit.
Modifiche alle API
- Introduci l'elenco
registerSource
(Iae92f) - Feedback dell'API Council: ridenominato
TransitionManager.seekTo()
increateSeekController()
. Modifica il commento precedente sull'aggiunta diTransitionManager.seekTo()
aTransitionManager.createSeekController()
. (Idbeb1) - È stato aggiunto
ExerciseRouteResult
, che non è la superclasse perData
,NoData
eConsentRequiredStates
. È stato aggiuntoExerciseRoute
come corso a sé stante, che contiene i dati sulla posizione per il percorso. (I22eed) PagerLayoutInfo
introdotto con informazioni raccolte dopo il superamento della misura in Pager. Sono state introdotte anche le informazioni sulla pagina, ovvero 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. Ora è possibile eseguire l'override del ruolo semantico perButton
,IconButton
eTextButton
utilizzandoModifier.semantics
. (Ib2495) - La selezione delle schede e l'indicatore di
EmojiPickerView
corretti si aggiornano con un clic indietro. (I4db04) FileNotFoundException
sul selettore di emoji (I353e4)- Individua
WindowManager.BadTokenException
quando utilizziEmojiPickerView
(I0a144)
Versione 1.4.0-beta05
7 giugno 2023
Viene rilasciato androidx.emoji2:emoji2-*:1.4.0-beta05
. 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
MetricsAffectingSpans
, ad esempioRelativeSizeSpan
. Una volta durante il layout del testo e di nuovo all'interno diEmojiSpan.draw
. Il risultato è stato dimensionato in modo errato per il disegno, visibile se uno o più dei parametri delle dimensioni del testo sono stati modificati dall'intervallo. (b/283208650)
Versione 1.4.0-beta04
24 maggio 2023
Viene rilasciato androidx.emoji2:emoji2-*:1.4.0-beta04
. La versione 1.4.0-beta04 contiene questi commit.
In questa release è stato corretto un bug presente nella versione 1.0 per cui le visualizzazioni con un gestore non principale generavano un'eccezione quando si tentava di aggiornare gli intervalli delle emoji al termine del caricamento del carattere. Non esistono soluzioni alternative. Se questo bug ti riguarda, esegui l'upgrade a questa versione o a una versione successiva.
Correzioni di bug
- I callback di inizializzazione
EmojiCompat
ora utilizzeranno il gestore di ogni vista, rispettando le visualizzazioni non presenti nel thread principale. (Iccbcf)
Versione 1.4.0-beta03
10 maggio 2023
Viene rilasciato androidx.emoji2:emoji2-*:1.4.0-beta03
. La versione 1.4.0-beta03 contiene questi commit.
Correzioni di bug
- Correggi l'arresto anomalo della visualizzazione popup nidificata del selettore di emoji. (0acc8e)
- Includi le prime eccezioni in
EmojiCompat getEmojiStart/getEmojiEnd
. (26177f)
Versione 1.4.0-beta02
19 aprile 2023
Viene rilasciato androidx.emoji2:emoji2-*:1.4.0-beta02
. La versione 1.4.0-beta02 contiene questi commit.
Correzioni di bug
- Aggiorna i file di riferimento dei lint (Iaa212)
Versione 1.4.0-beta01
5 aprile 2023
Viene rilasciato androidx.emoji2:emoji2-*:1.4.0-beta01
. 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 utilizzate di recente. Con questa raccolta, le app di diversi OEM possono fornire agli utenti un'esperienza di emoji inclusiva e unificata 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 di rendering delle emoji per eliminare il tofu. In questo modo la raccolta sarà compatibile con più versioni Android e dispositivi.
Varianti persistenti
Se premi a lungo un'emoji, viene visualizzato un menu di varianti, ad esempio in base al genere o alle 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
L'RecentEmojiProvider
è tenuta a fornire le emoji nella categoria "Utilizzate di recente". La raccolta dispone di un fornitore recente di emoji predefinito che soddisfa il caso d'uso più comune:
- Tutte le emoji selezionate vengono salvate per 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()
.
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 l'opzione EmojiCompat
viene disattivata, il selettore di emoji continuerà a funzionare correttamente.
Come utilizzare la raccolta
Per utilizzare la libreria, gli sviluppatori di app devono
Importa
androidx.emoji2:emojipicker:$version
inbuild.gradle
.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Aumenta la visualizzazione del selettore di emoji e, facoltativamente, imposta
emojiGridRows
eemojiGridColumns
in base alle dimensioni desiderate di ogni cella dell'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 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" />
- 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 aggiungere le emoji selezionate a un elemento EditText, usa
setOnEmojiPickedListener()
emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }
(Facoltativo) Imposta
RecentEmojiProvider
. Visualizza un'app di esempio per un'implementazione di esempio.Se vuoi, puoi personalizzare gli stili. Crea il tuo stile per sostituire gli attributi comuni del tema e applicare lo stile a
EmojiPickerView
. Ad esempio, se esegui l'override dicolorControlNormal
verrà modificato il colore dell'icona della categoria.<style name="CustomStyle" > <item name="colorControlNormal">#FFC0CB</item> </style> <androidx.emoji2.emojipicker.EmojiPickerView android:id="@+id/emoji_picker" android:layout_width="match_parent" android:layout_height="match_parent" android:theme="@style/CustomStyle" app:emojiGridColumns="9" />
Guarda l'app di esempio per un'implementazione di esempio.
Puoi trovare una piattaforma API completa qui.
App di esempio
Questa app di esempio mostra casi d'uso di base oltre ai seguenti scenari aggiuntivi:
- La visualizzazione è stata ridisegnata perché
emojiGridRows
eemojiGridColumns
sono stati reimpostati. - Il fornitore di emoji recente è stato sostituito per ordinare in base alla frequenza.
- Personalizzazione dello stile.
Modifiche alle API
La libreria 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. - 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 listener selezionato tramite 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 recente non è impostato, nella raccolta verrà utilizzato un fornitore di emoji recente predefinito. Il comportamento predefinito è definito come segue:- Tutte le emoji selezionate verranno salvate per 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. - Interfaccia
RecentEmojiProvider
, che può essere implementata per fornire un elenco di emoji recente. L'recentEmojiProvider
è tenuta a fornire le emoji nella categoria "Utilizzate di recente". - Interfaccia
RecentEmojiAsyncProvider
, che può essere implementata per fornire un elenco di emoji recente. L'RecentEmojiAsyncProvider
è tenuta a fornire le emoji nella categoria "Utilizzate di recente". Questa interfaccia equivale aRecentEmojiProvider
, che consente ai clienti 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
Viene rilasciato androidx.emoji2:emoji2-*:1.4.0-alpha01
. La versione 1.4.0-alpha01 contiene questi commit.
Correzioni di bug
- Correggi i test, disattiva i flake test e le pulizie.
Versione 1.3
Versione 1.3.0
22 marzo 2023
Viene rilasciato androidx.emoji2:emoji2-*:1.3.0
. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
- Questa release consente l'utilizzo di Compose Foundation
1.4.0
e versioni successive per consentire l'integrazione di emoji2. - Consente inoltre di sostituire
EmojiSpans
con un codice di disegno personalizzato, nonché il supporto per le esclusioni di emoji definite su Android.
Versione 1.3.0-rc01
8 marzo 2023
Viene rilasciato androidx.emoji2:emoji2-*:1.3.0-rc01
. La versione 1.3.0-rc01 contiene questi commit.
Nuove funzionalità
- Questa versione supporta l'integrazione della scrittura di emoji2.
Modifiche alle API
- Sostituisci gli intervalli per un codice di disegno personalizzato.
- Esecuzione di query sulle esclusioni di sistema.
Correzioni di bug
- È stato inoltre corretto un bug per cui le sezioni dello sfondo non venivano applicate correttamente dietro
EmojiSopans
.
Versione 1.3.0-beta03
23 febbraio 2023
Vengono rilasciate le funzionalità 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
.
22 febbraio 2023
Viene rilasciato androidx.emoji2:emoji2:1.3.0-beta03
. La versione 1.3.0-beta03 contiene questi commit.
Nuove funzionalità
- Nessuna modifica. Questa release è stata preparata per l'integrazione di Scrivi.
Versione 1.3.0-beta02
8 febbraio 2023
Viene rilasciato androidx.emoji2:emoji2-*:1.3.0-beta02
. La versione 1.3.0-beta02 contiene questi commit.
Nuove funzionalità
- Questa release è di stabilizzazione per supportare l'integrazione di Scrivi.
Versione 1.3.0-beta01
25 gennaio 2023
Viene rilasciato androidx.emoji2:emoji2-*:1.3.0-beta01
. La versione 1.3.0-beta01 contiene questi commit.
Nuove funzionalità
- Esecuzione di query sulle esclusioni di sistema.
- Sostituzione degli intervalli per il codice del disegno personalizzato.
- È stato inoltre corretto un bug per cui le sezioni dello sfondo non venivano applicate correttamente dietro
EmojiSopans
. - In questa release sono aggiunte le API necessarie per supportare
EmojiCompat
in Compose. Il supporto della scrittura per le emoji sarà supportato a breve.
Versione 1.3.0-alpha01
11 gennaio 2023
Viene rilasciato androidx.emoji2:emoji2-*:1.3.0-alpha01
. La versione 1.3.0-alpha01 contiene questi commit.
Nuove API per interazioni di basso livello
- Esecuzione di query sulle esclusioni di sistema
- Sostituzione degli intervalli per il codice del disegno personalizzato
- È stato inoltre corretto un bug per cui le sezioni dello sfondo non venivano applicate correttamente dietro
EmojiSopans
. - In questa release sono aggiunte le API necessarie per supportare
EmojiCompat
in Compose. Il supporto della scrittura per le emoji sarà supportato a breve.
Modifiche alle API
- Aggiunta la possibilità di eseguire query sulle esclusioni di sistema per
TypefaceEmojiRasterizer
. (I5653e) - È stata aggiunta la nuova API
EmojiCompat.SpanFactory
per sostituire il comportamento predefinito diEmojiSpan
con codice di disegno e dimensionamento personalizzato. (Ib69d9) EmojiCompat
aggiunto a Compose (I96f37, b/139326806)
Correzioni di bug
- Emoji2 ora disegna correttamente gli sfondi da
BackgroundSpan
. (Ide6a8, b/230525134) - Finalizza le API di AppCompat per 1.5.0-beta01 (I2a43d, b/236866227)
Versione 1.2
Versione 1.2.0
10 agosto 2022
Viene rilasciato androidx.emoji2:emoji2-*:1.2.0
. La versione 1.2.0 contiene questi commit.
Modifiche importanti dalla versione 1.1.0
Si tratta di una release per la correzione di bug. Non sono state aggiunte nuove funzionalità o API dalla versione 1.1.0.
Tuttavia, le app che utilizzano PrecomputedText
o TextView.setText(char[])
dovrebbero
dai la priorità al passaggio a questa versione.
Sono stati risolti i bug riportati di seguito:
Emoji2
aggiungerà le 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 risolto il problema che causava l'arresto anomalo quando emoji2 caricava il carattere e veniva utilizzato
TextView.setText(char[])
. (Id511e, b/206859724)
Versione 1.2.0-rc01
27 luglio 2022
Viene rilasciato androidx.emoji2:emoji2-*:1.2.0-rc01
. La versione 1.2.0-rc01 contiene questi commit.
- Nessuna modifica dall'ultima versione beta.
Versione 1.2.0-beta01
13 luglio 2022
Viene rilasciato androidx.emoji2:emoji2-*:1.2.0-beta01
. 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
Viene rilasciato androidx.emoji2:emoji2-*:1.2.0-alpha04
. La versione 1.2.0-alpha04 contiene questi commit.
Nuove funzionalità
- Nessuna modifica in questa release.
Versione 1.2.0-alpha03
6 aprile 2022
Viene rilasciato androidx.emoji2:emoji2-*:1.2.0-alpha03
. La versione 1.2.0-alpha03 contiene questi commit.
Nuove funzionalità
- Nessuna modifica rispetto all'ultima versione (questa release supporta la release compatibile con l'app).
Versione 1.2.0-alpha02
23 marzo 2022
Viene rilasciato androidx.emoji2:emoji2-*:1.2.0-alpha02
. La versione 1.2.0-alpha02 contiene questi commit.
Correzioni di bug
- Emoji2 aggiungerà emoji a
PrecomputedText
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 emoji2 caricava il carattere e veniva utilizzato
TextView.setText(char[])
. (Id511e, b/206859724)
Versione 1.2.0-alpha01
23 febbraio 2022
Viene rilasciato androidx.emoji2:emoji2-*:1.2.0-alpha01
. 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
Viene rilasciato androidx.emoji2:emoji2-*:1.1.0
. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
- Il bundle emoji2 contiene il carattere emoji 14
- La nuova API
getEmojiMatch
restituisce informazioni accurate per le tastiere per decidere come verrà visualizzata un'emoji in presenza di un carattere emojicompat dietro il carattere di sistema. - Correzione di bug per
NumberKeyListener
che impedisce all'immissione di cifre di filtrare correttamente i caratteri.
Versione 1.1.0-rc01
9 febbraio 2022
Viene rilasciato androidx.emoji2:emoji2-*:1.1.0-rc01
. 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 le tastiere per decidere come verrà visualizzata un'emoji in presenza di un carattere emojicompat dietro il carattere di sistema. - Correzione di bug per
NumberKeyListener
che impedisce all'immissione di cifre di filtrare correttamente i caratteri
Versione 1.1.0-beta01
26 gennaio 2022
Viene rilasciato androidx.emoji2:emoji2-*:1.1.0-beta01
. La versione 1.1.0-beta01 contiene questi commit.
Correzioni di bug
- release androidx-emoji2 beta01. Nessuna modifica da alpha01 (Ic61d9)
Versione 1.1.0-alpha01
15 dicembre 2021
Viene rilasciato androidx.emoji2:emoji2-*:1.1.0-alpha01
. 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 le tastiere per decidere come verrà visualizzata un'emoji in presenza di un carattere emojicompat dietro il carattere di sistema. - Correzione di bug per
NumberKeyListener
che impedisce all'immissione di cifre di filtrare correttamente i caratteri
Modifiche alle API
- Aggiungi la nuova API
getEmojiMatch
per consentire alle tastiere di cercare con maggiore precisione il comportamento di corrispondenza delle emoji in emojicompat. - Ritira
hasEmojiGlyph
, poiché il suo valore restituito booleano non è preciso durante il test con un carattere precedente a quello dell'emoji della piattaforma. Sostituisci congetEmojiMatch
. (Ie693d)
Correzioni di bug
- Emoji2 non aggrega le istanze di
NumberKeyListener
, 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)
1,0
Versione 1.0.1
15 dicembre 2021
Viene rilasciato androidx.emoji2:emoji2-*:1.0.1
. 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
Viene rilasciato androidx.emoji2:emoji2-*:1.0.0
. La versione 1.0.0 contiene questi commit.
Funzionalità principali di 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 ulteriori informazioni su androidx.emoji2, vedi Supportare Modern Emoji e la nostra conferenza Android Dev Summit Visualizzazione di TUTTE le emoji nell'app Android Dev.
Versione 1.0.0-rc01
27 ottobre 2021
Viene rilasciato androidx.emoji2:emoji2-*:1.0.0-rc01
. La versione 1.0.0-rc01 contiene questi commit.
- Nessuna modifica dalla versione beta02.
Emoji2 Versione 1.0.0-beta01
15 settembre 2021
Viene rilasciato androidx.emoji2:emoji2-*:1.0.0-beta01
. La versione 1.0.0-beta01 contiene questi commit.
Modifiche alle API
Aggiunta di
setLoadingExecutor
aFontRequestEmojiCompatConfig
, che sostituisce la precedente API disetHandler
. Questa API consente alle app di configurareFontRequestEmojiCompatConfig
in modo che utilizzi qualsiasi esecutore in background.Questa è una modifica che provoca un errore di
androidx.emoji:emoji
, quindisetHandler
viene mantenuta come API deprecata autonoma per facilitare la migrazione. (I6cd48)EmojiCompat imposta correttamente
EditorInfo.extras
su Android 11- I widget personalizzati che utilizzano IME che non creano sottoclassi di EditText possono chiamare
EmojiCompat.updateEditorInfo
per comunicare all'IME che supporta Elaborazione EmojiCompat. (I1ea9b).
- I widget personalizzati che utilizzano IME che non creano sottoclassi di EditText possono chiamare
Correzioni di bug
- Correggi l'errore
DefaultEmojiCompatConfig
per cercare correttamente il carattere delle emoji su API 19 e 28. Correzione di un bug introdotto nell'emoji 2 1.0.0-alpha01. (Ib33d8, b/197906329)
Versione 1.0.0-alpha03
30 giugno 2021
Viene rilasciato androidx.emoji2:emoji2-*:1.0.0-alpha03
. La versione 1.0.0-alpha03 contiene questi commit.
Nuove funzionalità
Questa release è una correzione di bug e una release di stabilizzazione.
- EmojiEditTextHelper ora consente di passare
null
come KeyListener. In questo modo, la piattaforma consente l'applicazione dei valori null alle emoji che supportano le implementazioni di EditText. - Quando si utilizza EmojiCompatInitializer, il ritardo all'avvio iniziale è migliorato in modo che si attivi dopo la ripresa della prima attività. In questo modo l'avvio dell'app avviene involontariamente 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 dell'emoji.
- È stata aggiunta una nuova dipendenza su
androidx.lifecycle:lifecycle-process
daandroidx.emoji2:emoji2
per implementare il ritardo. Ciò avrà un impatto trascurabile sulle dimensioni dell'APK per le app che includono già il ciclo di vita (ad esempio, le app compatibili con app).
Modifiche alle API
- Consenti keyListener null in AppCompatEditText. Questa operazione inverte annotazione non nullo aggiunta ad AppCompatEditText in 1.4.0-alpha01 e ripristina il comportamento precedente se passato con valore 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.onCreate
eActivity.onCreate
in modalità non contesa, assicurandosi che il carattere dell'emoji venga caricato poco dopo l'avvio dell'app. (I4bff7)
Versione 1.0.0-alpha02
2 giugno 2021
Vengono rilasciate le funzionalità 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
. La versione 1.0.0-alpha02 contiene questi commit.
Modifiche alle API
- Pacchetto rinominato 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 per l'utilizzo la nuova versione emoji2. (Ie8397)
Versione 1.0.0-alpha01
18 maggio 2021
Vengono rilasciate le funzionalità 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
. La versione 1.0.0-alpha01 contiene questi commit.
Funzionalità di questa release iniziale
L'integrazione di emojicompat è consigliata per consentire a tutte le app di supportare le emoji moderne dell'API19. Tutti i contenuti generati dagli utenti nella tua app contengono 🎉.
EmojiCompat è stata spostata dagli elementi androidx.emoji
al nuovo androidx.emoji2
, ora in 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'artefatto emoji2
introduce una nuova configurazione automatica utilizzando la libreria androidx.startup
. Non devi più scrivere alcun codice 👨🏽 💻 da visualizzare ⏾ Ч️.
Modifiche nell'emoji 2 rispetto alle emoji
- Nuova configurazione automatica
EmojiCompatInitializer
aggiunta 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
. Questa opzione deve essere utilizzata solo se la tua app non utilizza appcompat. - Estratti per l'integrazione di emojicompat nelle visualizzazioni personalizzate in un elemento separato
emoji2-views-helper
. - Sono state aggiunte annotazioni con nullità.
- Ora è possibile utilizzare gli aiutanti in
emoji2-views-helper
anche seEmojiCompat
non viene inizializzato (in precedenza veniva generata un'eccezione).
Quale dipendenza dovresti aggiungere?
- È necessario eseguire l'upgrade delle app con AppCompat alla versione AppCompat
1.4.0-alpha01
o successiva. - Le app senza AppCompat che utilizzano
TextView
/EditText
dalla piattaforma dovrebbero usareEmojiTextView
e i corsi correlati diemoji2-views
.
Come fornire il supporto 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 utilizzare gli helper per l'integrazione con le sottoclassiTextView
oEditText
personalizzate.
Configurare l'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 viene disattivata e potrai quindi passare una configurazione personalizzata a
EmojiCompat.init
. È possibile recuperare la configurazione predefinita per il sistemaDefaultEmojiCompatConfig.create(context)
per un'ulteriore configurazione prima del passaggio aEmojiCompat.init
.