Emoji2
androidx.emoji2.text
androidx.emoji2.viewshelper
androidx.emoji2.widget
Dernière mise à jour | Version stable | Version finale | Version bêta | Version alpha |
---|---|---|---|---|
4 septembre 2024 | 1.5.0 | - | - | - |
Déclarer des dépendances
Pour ajouter une dépendance sur Emoji2, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.
Ajoutez les dépendances des artefacts dont vous avez besoin dans le fichier build.gradle
de votre application ou module :
Groovy
dependencies { def emoji2_version = "1.5.0" implementation "androidx.emoji2:emoji2:$emoji2_version" implementation "androidx.emoji2:emoji2-views:$emoji2_version" implementation "androidx.emoji2:emoji2-views-helper:$emoji2_version" }
Kotlin
dependencies { val emoji2_version = "1.5.0" implementation("androidx.emoji2:emoji2:$emoji2_version") implementation("androidx.emoji2:emoji2-views:$emoji2_version") implementation("androidx.emoji2:emoji2-views-helper:$emoji2_version") }
Pour en savoir plus sur les dépendances, consultez la page Ajouter des dépendances de compilation.
Commentaires
Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.
Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.
Emoji2 Emojipicker Version 1.0
Version 1.5.0
4 septembre 2024
Publication d'androidx.emoji2:emoji2-*:1.5.0
. La version 1.5.0 contient ces commits.
Changements importants depuis la version 1.4.0
- Compatibilité avec les emoji 15.1 et l'interface utilisateur du sélecteur d'emoji bidirectionnel. Un simple clic sur le sélecteur bidirectionnel permet aux utilisateurs de basculer entre les versions gauche et droite des emoji.
- Compatible avec le sélecteur d'emoji multi-skintone. Appuyer de manière prolongée sur les emoji de couple permet d'afficher un sélecteur d'emojis pour plusieurs personnes pour l'état 0. Lorsque l'utilisateur appuie sur la moitié gauche d'un emoji, l'aperçu de l'emoji en bas à droite est mis à jour en conséquence. Lorsque l'utilisateur sélectionne les deux moitiés d'un emoji, l'aperçu de l'emoji en bas à droite affiche l'emoji complet, et l'utilisateur peut ensuite le saisir.
Version 1.0.0-alpha03
8 mars 2023
Publication d'androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03
. Liste des commits de la version 1.0.0-alpha03
Correction de bugs
- Suppression des ressources inutiles et réduction de la taille de la bibliothèque d'environ 0,3 Mo.
Version 1.0.0-alpha02
22 février 2023
Publication d'androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02
. Liste des commits de la version 1.0.0-alpha02.
Modifications apportées à l'API
- Ajout d'une nouvelle API permettant aux clients Java de fournir des emoji récents. (I39d10)
Correction de bugs
- Mise à jour des ressources emoji pour prendre en charge les emoji 15.0 (Ib4eb3)
- Lorsque vous sélectionnez un emoji dans la fenêtre pop-up, remplacez tous les emoji identiques par le nouvel emoji (sauf la rangée d'emoji récents). Annoncer également l'emoji lorsque vous cliquez dessus. (I892c6).
- Attendez que emojicompat se charge avant d'afficher
EmojiPickerView
. (I29e03)
Version 1.0.0-alpha01
25 janvier 2023
Publication d'androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01
. Liste des commits de la version 1.0.0-alpha01
Nouvelles fonctionnalités
- Lancement d'un sélecteur d'emoji offrant une expérience utilisateur cohérente avec les derniers emoji sur les appareils et les applications OEM Android OS. Il est compatible avec les derniers emoji et l'interface utilisateur de sélection d'emoji, y compris les variantes de couleur de peau et la compatibilité avec les emoji.
Modifications apportées à l'API
- Introduction de la classe
EmojiPickerView
qui fournit des emoji récents dans une vue à défilement vertical avec un en-tête horizontal cliquable. - Les colonnes de la grille du sélecteur d'emoji peuvent être définies via l'attribut XML
emojiGridColumns
ou la fonctionsetEmojiGridColumns()
. - Les lignes de la grille du sélecteur d'emoji peuvent être définies via l'attribut XML
emojiGridRows
ou la fonctionsetEmojiGridRows()
. - L'écouteur du sélecteur d'emoji peut être défini via
setOnEmojiPickedListener()
. Il est informé chaque fois que l'utilisateur clique sur un emoji. - Le fournisseur d'emoji récents peut être fourni avec
setRecentEmojiProvider()
. Cette fonction est facultative. Si le fournisseur d'emoji récents n'est pas défini, un fournisseur d'emoji récents par défaut sera utilisé par la bibliothèque. Le comportement par défaut est défini comme suit : 1) Tous les emoji sélectionnés seront enregistrés au niveau de l'application dans les préférences partagées. 2) Le sélecteur affiche au maximum trois lignes d'emoji sélectionnés, dédupliqués, dans l'ordre antichronologique - Introduction de la classe
EmojiViewItem
contenant l'emoji affiché et ses variantes d'emoji. - Introduction de l'interface
RecentEmojiProvider
qui peut être mise en œuvre pour fournir une liste d'emoji récents. LerecentEmojiProvider
est chargé de fournir les emoji dans la catégorie "Utilisés récemment".
Version 1.5
Version 1.5.0
4 septembre 2024
Publication d'androidx.emoji2:emoji2-*:1.5.0
. La version 1.5.0 contient ces commits.
Changements importants depuis la version 1.4.0
- Compatibilité avec les emoji 15.1 et l'interface utilisateur du sélecteur d'emoji bidirectionnel. Un simple clic sur le sélecteur bidirectionnel permet aux utilisateurs de basculer entre les versions gauche et droite des emoji.
- Prise en charge du sélecteur d'emojis avec plusieurs couleurs de peau. Appuyer de manière prolongée sur quelques emoji pour révéler un sélecteur d'emoji à plusieurs personnes pour l'état zéro. Lorsque l'utilisateur appuie sur la moitié gauche d'un emoji, l'aperçu de l'emoji en bas à droite est mis à jour en conséquence. Lorsque l'utilisateur sélectionne les deux moitiés d'un emoji, l'aperçu de l'emoji en bas à droite affiche l'emoji entier et peut alors le saisir.
Version 1.5.0-rc01
21 août 2024
Publication d'androidx.emoji2:emoji2-*:1.5.0-rc01
. La version 1.5.0-rc01 contient ces commits.
Nouvelles fonctionnalités
- Compatibilité avec les emoji 15.1 et l'interface utilisateur du sélecteur d'emoji bidirectionnel. Un simple clic sur le sélecteur bidirectionnel permet aux utilisateurs de basculer entre les versions gauche et droite des emoji.
- Prise en charge du sélecteur d'emoji multi-skintone. Appuyer de manière prolongée sur les emoji de couple permet d'afficher un sélecteur d'emoji pour plusieurs personnes pour l'état 0. Lorsque l'utilisateur appuie sur la moitié gauche d'un emoji, l'aperçu de l'emoji en bas à droite est mis à jour en conséquence. Lorsque l'utilisateur sélectionne les deux moitiés d'un emoji, l'aperçu affiche l'emoji complet, et l'utilisateur peut ensuite le saisir.
Correction de bugs
- Suppression de la description manuelle de l'accès aux nouvelles API de la plate-forme, car cela se produit automatiquement via la modélisation d'API lorsque vous utilisez R8 avec AGP 7.3 ou version ultérieure (par exemple, R8 version 3.3) et pour tous les builds lorsque vous utilisez AGP 8.1 ou version ultérieure (par exemple, D8 version 8.1). Les clients qui n'utilisent pas AGP sont invités à passer à la version 8.1 de D8 ou ultérieure. Consultez cet article pour en savoir plus. (If6b4c, b/345472586)
- La sélection de l'onglet et l'indicateur de
EmojiPickerView
sont mis à jour un clic en retard. (146b02, b/288261054) - La sélection d'onglets et l'indicateur de
EmojiPickerView
ne fonctionnent pas. (5e1f14, b/273883688)
Version 1.5.0-beta01
10 juillet 2024
Publication d'androidx.emoji2:emoji2-*:1.5.0-beta01
. La version 1.5.0-beta01 contient ces commits.
Nouvelles fonctionnalités
- Compatibilité avec les emoji 15.1 et l'interface utilisateur de sélection d'emoji bidirectionnelle.
- Prise en charge de la refonte de la sélection de plusieurs tons de peau.
Correction de bugs
- La sélection de l'onglet et l'indicateur de
EmojiPickerView
sont mis à jour un clic en retard. (146b02, b/288261054) - La sélection et l'indicateur d'onglet de
EmojiPickerView
sont défectueux. (5e1f14, b/273883688)
Version 1.5.0-alpha01
13 décembre 2023
Publication d'androidx.emoji2:emoji2-*:1.5.0-alpha01
. Liste des commits de la version 1.5.0-alpha01
Nouvelles fonctionnalités
emoji2-bundled
contient une police d'emoji mise à jour pour prendre en charge la version 15.1 d'Emoji.
Modifications apportées à l'API
- Ajoutez des exécuteurs pour contrôler le thread de rappel de
InitCallback
. (I32b67) BundledEmojiCompatConfig
utilise désormais un exécuteur pour contrôler les threads de chargement. (I00e81)
Version 1.4
Version 1.4.0
9 août 2023
Publication d'androidx.emoji2:emoji2-*:1.4.0
. Liste des commits de la version 1.4.0
Changements importants depuis la version 1.3.0
- Introduction de la bibliothèque de sélecteur d'emoji. Pour en savoir plus, consultez la documentation destinée aux développeurs.
Version 1.4.0-rc01
26 juillet 2023
Publication d'androidx.emoji2:emoji2-*:1.4.0-rc01
. Liste des commits de la version 1.4.0-rc01
Modifications apportées à l'API
- Introduction de la liste
registerSource
(Iae92f) - Commentaires de l'API Council: modification du nom de
TransitionManager.seekTo()
parcreateSeekController()
. Veuillez modifier le commentaire précédent concernant l'ajout deTransitionManager.seekTo()
àTransitionManager.createSeekController()
. (Idbeb1). - Ajout de
ExerciseRouteResult
, qui n'est pas la superclasse deData
,NoData
etConsentRequiredStates
. Ajout deExerciseRoute
en tant que classe autonome, qui contient les données de localisation de l'itinéraire. (I22eed) - Ajout de
PagerLayoutInfo
avec les informations collectées après un passage de mesure dans Pager. Ajout de PageInfo, les informations concernant une seule page mesurée dans Pager. (Iad003, b/283098900)
Correction de bugs
- Nous avons modifié les couleurs pour
Button
,IconButton
etTextButton
conformément au design de Material3. Le rôle sémantique deButton
,IconButton
etTextButton
peut désormais être remplacé à l'aide deModifier.semantics
. (Ib2495) - Correction de la sélection des onglets et des mises à jour de l'indicateur de
EmojiPickerView
d'un clic en retard. (I4db04). FileNotFoundException
sur l'affichage du sélecteur d'emoji (I353e4)- Capturer la
WindowManager.BadTokenException
lors de l'utilisation deEmojiPickerView
(I0a144)
Version 1.4.0-beta05
7 juin 2023
Publication d'androidx.emoji2:emoji2-*:1.4.0-beta05
. Liste des commits de la version 1.4.0-beta05
Correction de bugs
- Correction d'un bug introduit dans la version 1.3 qui entraînait l'application de
MetricsAffectingSpans
, commeRelativeSizeSpan
, deux fois. Une fois lors de la mise en page du texte, puis une fois dansEmojiSpan.draw
. Le résultat était un dessin de taille incorrecte, visible si l'un des paramètres de taille de texte était modifié par la plage. (b/283208650)
Version 1.4.0-beta04
24 mai 2023
Publication d'androidx.emoji2:emoji2-*:1.4.0-beta04
. Liste des commits de la version 1.4.0-beta04
Cette version corrige un bug présent depuis la version 1.0, qui entraînait l'affichage d'une exception lorsque les vues avec un gestionnaire non principal tentaient de mettre à jour les plages d'emoji après le chargement de la police. Aucune solution n'existe. Si vous êtes concerné par ce bug, veuillez passer à cette version ou à une version ultérieure.
Correction de bugs
- Les rappels d'initialisation
EmojiCompat
utiliseront désormais le gestionnaire de chaque vue, en respectant les vues qui ne se trouvent pas sur le thread principal. (Iccbcf)
Version 1.4.0-beta03
10 mai 2023
Publication d'androidx.emoji2:emoji2-*:1.4.0-beta03
. Liste des commits de la version 1.4.0-beta03
Correction de bugs
- Correction du plantage de la vue pop-up imbriquée du sélecteur d'emoji. (0acc8e)
- Générez des exceptions anticipées dans
EmojiCompat getEmojiStart/getEmojiEnd
. (26177f)
Version 1.4.0-beta02
19 avril 2023
Publication d'androidx.emoji2:emoji2-*:1.4.0-beta02
. Liste des commits de la version 1.4.0-beta02
Correction de bugs
- Mise à jour des fichiers de référence lint (Iaa212)
Version 1.4.0-beta01
5 avril 2023
Publication d'androidx.emoji2:emoji2-*:1.4.0-beta01
. Liste des commits de la version 1.4.0-beta01
Nouvelles fonctionnalités
androidx.emoji2:emoji2-emojipicker
Le sélecteur d'emoji est une solution d'UI qui offre une apparence moderne, des emoji à jour et une facilité d'utilisation. Les utilisateurs peuvent parcourir et sélectionner des emoji et leurs variantes, ou choisir parmi les emoji qu'ils ont récemment utilisés. Grâce à cette bibliothèque, les applications de différents OEM peuvent offrir à leurs utilisateurs une expérience inclusive et unifiée des emoji sans que les développeurs aient à créer et à gérer leur propre sélecteur d'emoji à partir de zéro.
Emojis à jour
De nouveaux emoji sont publiés chaque année, et nous les inclurons de façon sélective dans le sélecteur d'emoji. Pour garantir la rétrocompatibilité, nous effectuons en interne une vérification précise de la capacité d'affichage des emoji afin d'éliminer les tofu. Cela garantit que la bibliothèque est compatible avec plusieurs versions et appareils Android.
Variantes persistantes
Appuyer de manière prolongée sur un emoji affiche un menu de variantes, telles que différents genres ou tons de peau. La variante choisie sera enregistrée dans le sélecteur d'emoji et la dernière sélectionnée sera utilisée dans le panneau principal. Grâce à cette fonctionnalité, les utilisateurs peuvent envoyer leurs variantes d'emoji préférées en appuyant simplement sur un bouton.
Emoji récents
Le RecentEmojiProvider
est chargé de fournir les emoji dans la catégorie "Utilisés récemment". La bibliothèque dispose d'un fournisseur d'emoji récents par défaut qui répond au cas d'utilisation le plus courant:
- Tous les emoji sélectionnés sont enregistrés au niveau de l'application dans les préférences partagées.
- Le sélecteur affiche au maximum trois lignes d'emoji sélectionnés, dédupliqués, dans l'ordre antichronologique.
Si ce comportement par défaut est suffisant, vous n'avez pas besoin de définir la méthode setRecentEmojiProvider()
.
Travailler avec EmojiCompat
Si l'appli dispose d'une instance EmojiCompat
, elle sera utilisée dans le sélecteur d'emoji pour afficher autant d'emoji que possible. Si EmojiCompat
est désactivé, le sélecteur d'emojis continue de fonctionner.
Utiliser la bibliothèque
Pour utiliser la bibliothèque, un développeur d'applications doit :
Importez
androidx.emoji2:emojipicker:$version
dansbuild.gradle
.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Inflatez la vue du sélecteur d'emoji et définissez éventuellement
emojiGridRows
etemojiGridColumns
en fonction de la taille souhaitée de chaque cellule d'emoji.- Vous pouvez les laisser non définis. La valeur par défaut est 9
emojiGridColumns
. Les lignes seront calculées en fonction de la hauteur de la vue parente et deemojiGridColumns
. - Vous pouvez définir
emojiGridRows
en tant que flottant pour indiquer qu'il existe d'autres emoji si vous faites défiler le fichier XML.
<androidx.emoji2.emojipicker.EmojiPickerView android:id="@+id/emoji_picker" android:layout_width="match_parent" android:layout_height="match_parent" app:emojiGridColumns="9" />
- Vous pouvez les laisser non définis. La valeur par défaut est 9
dans le code
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)
Si vous souhaitez ajouter les emoji sélectionnés à un EditText, utilisez
setOnEmojiPickedListener()
.emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }
Vous pouvez également définir
RecentEmojiProvider
. Pour obtenir un exemple d'implémentation, consultez l'application exemple.Personnalisez éventuellement les styles. Créez votre propre style pour remplacer les attributs de thème courants et appliquez-le à
EmojiPickerView
. Par exemple, si vous remplacezcolorControlNormal
, la couleur de l'icône de la catégorie sera modifiée.<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" />
Pour en savoir plus, consultez l'exemple d'application.
Pour consulter la surface de l'API complète, cliquez ici.
Application exemple
Cet exemple d'application présente des cas d'utilisation de base, ainsi que les scénarios supplémentaires suivants:
- Vue remise en page, car
emojiGridRows
etemojiGridColumns
ont été réinitialisés. - Le fournisseur d'emoji récents est remplacé pour trier par fréquence.
- Personnalisation du style
Modifications apportées à l'API
La bibliothèque du sélecteur d'emoji a été mise à jour avec les nouvelles API suivantes:
- Classe
EmojiPickerView
, qui fournit des emoji récents dans une vue à défilement vertical avec un en-tête horizontal cliquable. - Possibilité de définir le nombre de colonnes et de lignes dans la grille du sélecteur d'emoji via les attributs XML
emojiGridColumns
etemojiGridRows
, ou les méthodessetEmojiGridColumns()
etsetEmojiGridRows()
. - Possibilité de définir un écouteur de sélecteur d'emoji via la méthode
setOnEmojiPickedListener()
. L'écouteur est averti chaque fois que l'utilisateur clique sur un emoji. - Possibilité de fournir un fournisseur d'emoji récents via la méthode
setRecentEmojiProvider()
. Cette fonction est facultative. Si le fournisseur d'emoji récents n'est pas défini, un fournisseur d'emoji récents par défaut sera utilisé par la bibliothèque. Le comportement par défaut est défini comme suit :- Tous les emoji sélectionnés seront enregistrés au niveau de l'application dans les préférences partagées.
- Le sélecteur affiche au maximum trois lignes d'emoji sélectionnés, dédupliqués, dans l'ordre antichronologique.
- Classe
EmojiViewItem
, qui contient l'emoji affiché et ses variantes d'emoji. - L'interface
RecentEmojiProvider
, qui peut être implémentée pour fournir une liste d'emoji récents LerecentEmojiProvider
est chargé de fournir les emoji dans la catégorie "Utilisés récemment". - Interface
RecentEmojiAsyncProvider
, qui peut être implémentée pour fournir une liste d'emoji récents. LeRecentEmojiAsyncProvider
est chargé de fournir les emoji dans la catégorie "Utilisés récemment". Cette interface équivaut àRecentEmojiProvider
, qui permet aux clients de remplacer la méthodegetRecentEmojiListAsync()
pour fournir des emoji récents. - La classe
RecentEmojiProviderAdapter
, qui est un adaptateur pourRecentEmojiAsyncProvider
et implémenteRecentEmojiProvider
.
Version 1.4.0-alpha01
22 mars 2023
Publication d'androidx.emoji2:emoji2-*:1.4.0-alpha01
. Liste des commits de la version 1.4.0-alpha01.
Correction de bugs
- Corriger les tests, désactiver les tests en flocons et effectuer des nettoyages
Version 1.3
Version 1.3.0
22 mars 2023
Publication d'androidx.emoji2:emoji2-*:1.3.0
. Liste des commits de la version 1.3.0
Changements importants depuis la version 1.2.0
- Cette version permet à Compose Foundation
1.4.0
et versions ultérieures d'activer l'intégration d'emoji2. - Il permet également de remplacer
EmojiSpans
par du code de dessin personnalisé, ainsi que de prendre en charge les exclusions d'emoji définies sur Android.
Version 1.3.0-rc01
8 mars 2023
Publication d'androidx.emoji2:emoji2-*:1.3.0-rc01
. Liste des commits de la version 1.3.0-rc01
Nouvelles fonctionnalités
- Cette version permet l'intégration d'emoji2 dans Compose.
Modifications apportées à l'API
- Remplacez les ancrages par le code de dessin personnalisé.
- Interrogation des exclusions système.
Correction de bugs
- Correction d'un bug qui provoquait l'application incorrecte des ancrages d'arrière-plan derrière
EmojiSopans
.
Version 1.3.0-beta03
23 février 2023
Publication d'androidx.emoji2:emoji2-bundled:1.3.0-beta03
, androidx.emoji2:emoji2-views:1.3.0-beta03
et androidx.emoji2:emoji2-views-helper:1.3.0-beta03
.
22 février 2023
Publication d'androidx.emoji2:emoji2:1.3.0-beta03
. Liste des commits de la version 1.3.0-beta03
Nouvelles fonctionnalités
- Aucune modification Cette version vise à préparer l'intégration de Compose.
Version 1.3.0-beta02
8 février 2023
Publication d'androidx.emoji2:emoji2-*:1.3.0-beta02
. Liste des commits de la version 1.3.0-beta02.
Nouvelles fonctionnalités
- Version de stabilisation destinée à permettre l'intégration dans Compose.
Version 1.3.0-beta01
25 janvier 2023
Publication d'androidx.emoji2:emoji2-*:1.3.0-beta01
. Liste des commits de la version 1.3.0-beta01
Nouvelles fonctionnalités
- Interrogation des exclusions système.
- Remplacement des ancrages pour le code de dessin personnalisé.
- Correction d'un bug qui provoquait l'application incorrecte des ancrages d'arrière-plan derrière
EmojiSopans
. - Cette version ajoute les API nécessaires à la prise en charge de
EmojiCompat
dans Compose. Compose devrait être compatible avec EmojiCompat très prochainement.
Version 1.3.0-alpha01
11 janvier 2023
Publication d'androidx.emoji2:emoji2-*:1.3.0-alpha01
. Liste des commits de la version 1.3.0-alpha01
Nouvelles API pour les interactions de niveau inférieur
- Interrogation des exclusions système
- Remplacement des ancrages pour le code de dessin personnalisé
- Correction d'un bug qui provoquait l'application incorrecte des ancrages d'arrière-plan derrière
EmojiSopans
. - Cette version ajoute les API nécessaires à la prise en charge de
EmojiCompat
dans Compose. Compose devrait être compatible avec EmojiCompat très prochainement.
Modifications apportées à l'API
- Ajout de la possibilité d'interroger les exclusions système dans
TypefaceEmojiRasterizer
. (I5653e) - Ajout d'une API
EmojiCompat.SpanFactory
pour remplacer le comportementEmojiSpan
par défaut par un code de dessin et de dimensionnement personnalisé. (Ib69d9) - Ajout d'
EmojiCompat
à Compose (I96f37, b/139326806)
Correction de bugs
- Emoji2 dessinera désormais correctement les arrière-plans à partir de
BackgroundSpan
. (Ide6a8, b/230525134) - Finalisation des API AppCompat pour la version 1.5.0-beta01 (I2a43d, b/236866227)
Version 1.2
Version 1.2.0
10 août 2022
Publication d'androidx.emoji2:emoji2-*:1.2.0
. Liste des commits de la version 1.2.0
Changements importants depuis la version 1.1.0
Cette version corrige un bug. Aucune nouvelle fonctionnalité ni API ajoutée depuis la version 1.1.0.
Il est toutefois impératif pour les applications qui utilisent PrecomputedText
ou TextView.setText(char[])
de passer à cette version.
Les bugs suivants ont été corrigés :
Emoji2
ajoutera des emoji àPrecomputedText
en supprimant la précédente mise en page de texte précalculée. (I47d06, b/211231958)- Correction du plantage de l'éditeur rétroporté sur Android P vers
EditText
configuré pour utiliser Emoji2. (Ifd709, b/216891011) - Correction du plantage lors du chargement de la police Emoji2 et de l'utilisation de
TextView.setText(char[])
(Id511e, b/206859724)
Version 1.2.0-rc01
27 juillet 2022
Publication d'androidx.emoji2:emoji2-*:1.2.0-rc01
. Liste des commits de la version 1.2.0-rc01.
- Aucune modification depuis la dernière version bêta.
Version 1.2.0-beta01
13 juillet 2022
Publication d'androidx.emoji2:emoji2-*:1.2.0-beta01
. Liste des commits de la version 1.2.0-beta01
Nouvelles fonctionnalités
- Aucune modification par rapport à la dernière version (cette version est compatible avec la version d'AppCompat).
Version 1.2.0-alpha04
20 avril 2022
Publication d'androidx.emoji2:emoji2-*:1.2.0-alpha04
. Liste des commits de la version 1.2.0-alpha04
Nouvelles fonctionnalités
- Aucune modification dans cette version.
Version 1.2.0-alpha03
6 avril 2022
Publication d'androidx.emoji2:emoji2-*:1.2.0-alpha03
. Liste des commits de la version 1.2.0-alpha03
Nouvelles fonctionnalités
- Aucune modification par rapport à la dernière version (cette version est compatible avec la version d'AppCompat).
Version 1.2.0-alpha02
23 mars 2022
Publication d'androidx.emoji2:emoji2-*:1.2.0-alpha02
. Liste des commits de la version 1.2.0-alpha02
Correction de bugs
- Emoji2 ajoutera des emoji à
PrecomputedText
en supprimant la précédente mise en page de texte précalculée. (I47d06, b/211231958) - Correction du plantage de l'éditeur rétroporté sur Android P vers EditText configuré pour utiliser emoji2. (Ifd709, b/216891011)
- Correction du plantage lors du chargement de la police Emoji2 et de l'utilisation de
TextView.setText(char[])
(Id511e, b/206859724)
Version 1.2.0-alpha01
23 février 2022
Publication d'androidx.emoji2:emoji2-*:1.2.0-alpha01
. Liste des commits de la version 1.2.0-alpha01.
Aucune modification par rapport à la version 1.1.0.
1.1
Version 1.1.0
23 février 2022
Publication d'androidx.emoji2:emoji2-*:1.1.0
. Liste des commits de la version 1.1.0
Modifications importantes depuis la version 1.0.0
- Emoji2-bundle contient une police 14 d'émoji
- La nouvelle API
getEmojiMatch
renvoie des informations précises concernant les claviers afin de déterminer la façon dont un emoji s'affiche en présence d'une police emojicompat en arrière-plan de la police du système - Correction d'un bug dans
NumberKeyListener
qui permet de filtrer correctement les caractères en saisissant des chiffres.
Version 1.1.0-rc01
9 février 2022
Publication d'androidx.emoji2:emoji2-*:1.1.0-rc01
. Liste des commits de la version 1.1.0-rc01
Nouvelles fonctionnalités
Aucune modification par rapport à la version bêta.
Nouvelles fonctionnalités par rapport à la version 1.0.0 d'Emoji2 :
emoji2-bundled
contient la police 14 d'emoji- La nouvelle API
getEmojiMatch
renvoie des informations précises concernant les claviers afin de déterminer la façon dont un emoji s'affiche en présence d'une police emojicompat en arrière-plan de la police du système - Correction d'un bug dans
NumberKeyListener
qui permet de filtrer correctement les caractères en saisissant des chiffres
Version 1.1.0-beta01
26 janvier 2022
Publication d'androidx.emoji2:emoji2-*:1.1.0-beta01
. Liste des commits de la version 1.1.0-beta01
Correction de bugs
- Version beta01 d'androidx-emoji2. Aucune modification par rapport à la version alpha01 (Ic61d9)
Version 1.1.0-alpha01
15 décembre 2021
Publication d'androidx.emoji2:emoji2-*:1.1.0-alpha01
. Liste des commits de la version 1.1.0-alpha01
Nouvelles fonctionnalités
emoji2-bundled
contient la police 14 d'emoji- La nouvelle API
getEmojiMatch
renvoie des informations précises concernant les claviers afin de déterminer la façon dont un emoji s'affiche en présence d'une police emojicompat en arrière-plan de la police du système - Correction d'un bug dans
NumberKeyListener
qui permet de filtrer correctement les caractères en saisissant des chiffres
Modifications apportées à l'API
- Ajout d'une nouvelle API
getEmojiMatch
pour autoriser les claviers à rechercher plus précisément des comportements correspondants d'emoji dans emojicompat. - Abandon de
hasEmojiGlyph
, car sa valeur de retour booléenne est imprécise lorsqu'il est testé sur une police plus ancienne que celle de la police emoji. Remplacer pargetEmojiMatch
. (Ie693d)
Correction de bugs
- Emoji2 n'encapsule pas les instances de
NumberKeyListener
. Les paramètres régionaux peuvent donc être configurés parTextView
. - Appcompat n'encapsulera pas les instances de
NumberKeyListener
transmises àsetKeyListener
, ce qui permet àTextView
de configurer correctement les paramètres régionaux surNumberKeyListeners
. (Ibf113, b/207119921)
1.0
Version 1.0.1
15 décembre 2021
Publication d'androidx.emoji2:emoji2-*:1.0.1
. Liste des commits de la version 1.0.1
Correction de bugs
Emoji2
n'encapsulera pas les instances deNumberKeyListener
, ce qui permet de configurer les paramètres régionaux viaTextView
.- Appcompat n'encapsulera pas les instances de
NumberKeyListener
transmises àsetKeyListener
, ce qui permet àTextView
de configurer correctement les paramètres régionaux surNumberKeyListeners
. (Ibf113, b/207119921)
Version 1.0.0
17 novembre 2021
Publication d'androidx.emoji2:emoji2-*:1.0.0
. Liste des commits de la version 1.0.0
Principales fonctionnalités de la version 1.0.0
Androidx.emoji2 remplace Androidx.emoji par des fonctionnalités supplémentaires :
- Diminution de la taille de l'APK par rapport à Androidx.emoji
- Configuration automatique
- Ajouté en tant que dépendance à Appcompat 1.4
Pour en savoir plus sur Androidx.emoji2, consultez Prise en charge des emoji modernes et notre sommet des développeurs Android qui permet d'afficher TOUS les emoji dans votre application Android Dev.
Version 1.0.0-rc01
27 octobre 2021
Publication d'androidx.emoji2:emoji2-*:1.0.0-rc01
. Liste des commits de la version 1.0.0-rc01.
- Aucune modification depuis la version beta02.
Emoji2 version 1.0.0-beta01
15 septembre 2021
Publication d'androidx.emoji2:emoji2-*:1.0.0-beta01
. Liste des commits de la version 1.0.0-beta01
Modifications apportées à l'API
Ajout de
setLoadingExecutor
àFontRequestEmojiCompatConfig
, qui remplace l'API précédente desetHandler
. Cette API permet aux applications de configurerFontRequestEmojiCompatConfig
pour utiliser n'importe quel exécuteur en arrière-plan.Il s'agit d'une modification destructive d'
androidx.emoji:emoji
.setHandler
est donc conservé en tant qu'API obsolète no-op pour faciliter la migration. (I6cd48)EmojiCompat définit correctement
EditorInfo.extras
sur Android 11- Les widgets personnalisés qui utilisent l'IME sans sous-classer EditText peuvent appeler
EmojiCompat.updateEditorInfo
pour indiquer à IME qu'ils acceptent le traitement d'EmojiCompat. (I1ea9b)
- Les widgets personnalisés qui utilisent l'IME sans sous-classer EditText peuvent appeler
Correction de bugs
- Correction de
DefaultEmojiCompatConfig
pour rechercher correctement le fournisseur de polices emoji sur les API 19 et 28. Correction d'un bug introduit dans la version 1.0.0-alpha01 d'Emoji2. (Ib33d8, b/197906329)
Version 1.0.0-alpha03
30 juin 2021
Publication d'androidx.emoji2:emoji2-*:1.0.0-alpha03
. Liste des commits de la version 1.0.0-alpha03
Nouvelles fonctionnalités
Cette version est une version de correction de bug et de stabilisation.
- EmojiEditTextHelper peut désormais transmettre
null
en tant que KeyListener. Cela permet à la plateforme d'appliquer des valeurs nulles aux emoji compatibles avec les intégrations d'EditText. - En cas d'utilisation d'EmojiCompatInitializer, le délai de démarrage initial est amélioré pour se lancer après la première reprise d'activité. Ainsi, le démarrage de l'application peut se dérouler sans interruption, et la police ne doit pas charger au démarrage des applications qui n'affichent jamais d'interface utilisateur. Après quelques instants, EmojiCompat crée un thread pour charger la police des emoji.
- Une nouvelle dépendance à
androidx.lifecycle:lifecycle-process
depuisandroidx.emoji2:emoji2
est ajoutée pour intégrer le délai. L'effet sur la taille des APK sera négligeable pour les applications qui incluent déjà un cycle de vie (par exemple, les applications avec Appcompat).
Modifications apportées à l'API
- Autorise des valeurs nulles de KeyListener dans AppCompatEditText. Cette opération inverse l'annotation non nulle ajoutée à AppCompatEditText dans la version 1.4.0-alpha01 et restaure le comportement précédent lorsqu'il était transmis avec la valeur nulle. (I21482, b/189559345)
Correction de bugs
- Modifiez EmojiCompatInitializer pour retarder le chargement de la police jusqu'à 500 ms après le premier
Activity.onResume
. Cela permet à une activité d'effectuer des opérationsApplication.onCreate
etActivity.onCreate
non exécutées, tout en s'assurant que la police des emoji est chargée peu de temps après le démarrage de l'application. (I4bff7)
Version 1.0.0-alpha02
2 juin 2021
Publication d'androidx.emoji2:emoji2:1.0.0-alpha02
, androidx.emoji2:emoji2-views:1.0.0-alpha02
et androidx.emoji2:emoji2-views-helper:1.0.0-alpha02
. Liste des commits de la version 1.0.0-alpha02
Modifications apportées à l'API
- Le package de
emoji2-views-helper
a été renommé enandroidx.emoji2.viewsintegration
. Il s'agit d'une modification destructive pour AppCompat1.4.0-alpha01
, et les applications doivent s'assurer que la dépendance AppCompat est mise à jour pour utiliser la nouvelle version d'Emoji2. (Ie8397)
Version 1.0.0-alpha01
18 mai 2021
Publication d'androidx.emoji2:emoji2:1.0.0-alpha01
, androidx.emoji2:emoji2-views:1.0.0-alpha01
et androidx.emoji2:emoji2-views-helper:1.0.0-alpha01
. Liste des commits de la version 1.0.0-alpha01
Fonctionnalités de cette version initiale
L'intégration d'Emojicompat est recommandée pour toutes les applications afin qu'elles soient compatibles avec les emoji modernes de l'API 19. Tous les contenus générés par les utilisateurs dans votre application contiennent 🎉.
EmojiCompat est passé des artefacts androidx.emoji
au nouveau androidx.emoji2
, maintenant en version alpha01. Les nouveaux artefacts remplacent la version précédente.
emoji2
est ajouté en tant que dépendance à AppCompat à partir d'AppCompat 1.4.0-alpha01
et est activé par défaut pour les vues AppCompat.
L'artefact emoji2
introduit une nouvelle configuration automatique à l'aide de la bibliothèque androidx.startup
. Vous n'avez plus besoin d'écrire de code 👨🏽 💻 pour afficher 🐻 ❄️.
Modifications entre Emoji2 et Emoji
- Ajout de la configuration automatique
EmojiCompatInitializer
avecandroidx.startup
. - Ajout d'une configuration par défaut qui utilise l'emplacement du service pour trouver un fournisseur de polices téléchargeables dans
DefaultEmojiCompatConfiguration
. - Classes déplacées du package
androidx.emoji
versandroidx.emoji2
. - Division d'
EmojiTextView
et des vues associées dans un artefactemoji2-views
distinct. À utiliser uniquement si votre application n'utilise pas Appcompat. - Des assistants ont été extraits pour intégrer des Emojicompat aux vues personnalisées dans un artefact
emoji2-views-helper
distinct. - Ajout d'annotations pouvant être de valeur nulle.
- Des assistants dans
emoji2-views-helper
peuvent désormais être utilisés même siEmojiCompat
n'est pas initialisé (auparavant, ils généraient une exception).
Quelle dépendance devez-vous ajouter ?
- Les applications utilisant AppCompat doivent passer à la version
1.4.0-alpha01
ou ultérieure d'AppCompat. - Les applications n'utilisant pas AppCompat, mais plutôt
TextView
/EditText
depuis la plate-forme doivent utiliserEmojiTextView
et les classes associées d'emoji2-views
.
Comment prendre en charge les vues personnalisées
- Les applications utilisant AppCompat doivent étendre
AppCompatTextView
,AppCompatButton
, etc. au lieu de la plate-formeTextView
, etc. - Les applications n'utilisant pas AppCompat doivent ajouter la dépendance
androidx.emoji2:emoji2-views-helper
et utiliser des assistants pour intégrer des sous-classesTextView
ouEditText
personnalisées.
Configurer l'initialisation automatique
Les applications peuvent désactiver l'initialisation automatique en ajoutant le code suivant au fichier manifeste :
<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 configuration automatique est alors désactivée, et vous pouvez ensuite transmettre une configuration personnalisée à
EmojiCompat.init
. La configuration par défaut du système peut être uneDefaultEmojiCompatConfig.create(context)
récupérée pour une configuration ultérieure avant de la transmettre àEmojiCompat.init
.