Emoji2
Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
---|---|---|---|---|
2 de julio de 2025 | 1.5.0 | - | 1.6.0-beta01 | - |
Cómo declarar dependencias
Para agregar una dependencia en Emoji2, debes agregar el repositorio de Maven de Google a tu proyecto. Lee el repositorio de Maven de Google para obtener más información.
Agrega las dependencias de los artefactos que necesites en el archivo build.gradle
de tu app o módulo:
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") }
Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.
Comentarios
Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.
Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.
Emoji2: Emojipicker versión 1.0
Versión 1.5.0
4 de septiembre de 2024
Lanzamiento de androidx.emoji2:emoji2-*:1.5.0
. La versión 1.5.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.4.0
- Se agregó compatibilidad con Emoji 15.1 y la IU del selector de emojis bidireccional. Con un simple clic en el selector bidireccional, los usuarios pueden alternar entre las versiones de los emojis que miran hacia la izquierda y hacia la derecha.
- Se agregó compatibilidad con el selector de emojis de varios tonos de piel. Si mantienes presionado un emoji de pareja, se revelará un selector de emojis de varias personas para el estado cero. Cuando el usuario presione la mitad izquierda de un emoji, se actualizará la vista previa del emoji en la parte inferior derecha. Cuando el usuario selecciona ambas mitades de un emoji, la vista previa del emoji en la parte inferior derecha mostrará el emoji completo y el usuario podrá ingresarlo.
Versión 1.0.0-alpha03
8 de marzo de 2023
Lanzamiento de androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03
. La versión 1.0.0-alpha03 contiene estas confirmaciones.
Correcciones de errores
- Se quitaron los recursos innecesarios y se redujo el tamaño de la biblioteca en aproximadamente 0.3 M.
Versión 1.0.0-alpha02
22 de febrero de 2023
Lanzamiento de androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02
. La versión 1.0.0-alpha02 contiene estas confirmaciones.
Cambios en la API
- Se agregó una nueva API para que los clientes de Java puedan proporcionar emojis recientes. (I39d10)
Correcciones de errores
- Se actualizaron los recursos de emojis para admitir la versión 15.0 de emojis (Ib4eb3).
- Cuando se selecciona un emoji en la ventana emergente, se actualizan todos los emojis idénticos al emoji recién seleccionado (excepto la fila de emojis recientes). También se anuncia el emoji cuando se hace clic en él. (I892c6)
- Espera a que se cargue emojicompat antes de mostrar el
EmojiPickerView
. (I29e03)
Versión 1.0.0-alpha01
25 de enero de 2023
Lanzamiento de androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01
. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Se agregó un selector de emojis que brinda una experiencia del usuario coherente con los últimos emojis en todos los dispositivos y las apps de OEM del SO Android. Proporciona la IU del selector de emojis y compatibilidad con los emojis más recientes, incluidas variantes de tonos de piel y compatibilidad con emojis.
Cambios en la API
- Se introdujo la clase
EmojiPickerView
, que proporciona emojis actualizados en una vista vertical desplazable con un encabezado horizontal en el que se puede hacer clic. - Las columnas de la cuadrícula del selector de emojis se pueden configurar con el atributo XML
emojiGridColumns
o la funciónsetEmojiGridColumns()
. - Las filas de la cuadrícula del selector de emojis se pueden configurar con el atributo XML
emojiGridRows
o la funciónsetEmojiGridRows()
. - El objeto de escucha seleccionado para emojis se puede configurar con
setOnEmojiPickedListener()
, y este objeto recibirá una notificación cada vez que el usuario haga clic en un emoji. - Se puede proporcionar el proveedor de emojis reciente con
setRecentEmojiProvider()
. Esta es una función opcional. Si no estableces el proveedor de emojis reciente, la biblioteca usará uno predeterminado. El comportamiento predeterminado se define de la siguiente manera: 1) Todos los emojis seleccionados se guardarán en el nivel de la app en las preferencias compartidas. 2) El selector mostrará, como máximo, 3 filas de emojis seleccionados, sin duplicados, en orden cronológico inverso. - Se introdujo la clase
EmojiViewItem
que contiene el emoji que se muestra y sus variantes. - Se introdujo la interfaz de
RecentEmojiProvider
, que se puede implementar para brindar una lista de emojis recientes. ElrecentEmojiProvider
se encarga de proporcionar emojis en la categoría "Usados recientemente".
Versión 1.6
Versión 1.6.0-beta01
2 de julio de 2025
Lanzamiento de androidx.emoji2:emoji2-*:1.6.0-beta01
. La versión 1.6.0-beta01 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad con las actualizaciones de Emoji 16.0
- Agrega el sufijo "emoji" a la descripción del contenido para asegurarte de que tengamos un comportamiento de accesibilidad coherente en todas las apps del selector de emojis.
Versión 1.6.0-alpha01
4 de junio de 2025
Lanzamiento de androidx.emoji2:emoji2-*:1.6.0-alpha01
. La versión 1.6.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Se actualizaron los datos de Emoji 16.0 (Ifc878).
- Se agregó el sufijo “emoji” a la descripción del contenido.
Correcciones de errores
- Esta biblioteca ahora usa anotaciones de nulabilidad de JSpecify, que son de uso de tipo. Los desarrolladores de Kotlin deben usar los siguientes argumentos del compilador para aplicar el uso correcto:
-Xjspecify-annotations=strict
,-Xtype-enhancement-improvements-strict-mode
(Id07e7, b/326456246).
Versión 1.5
Versión 1.5.0
4 de septiembre de 2024
Lanzamiento de androidx.emoji2:emoji2-*:1.5.0
. La versión 1.5.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.4.0
- Se agregó compatibilidad con Emoji 15.1 y la IU del selector de emojis bidireccional. Con un simple clic en el selector bidireccional, los usuarios pueden alternar entre las versiones de los emojis que miran hacia la izquierda y hacia la derecha.
- Se agregó compatibilidad con el selector de emojis de varios tonos de piel. Si mantienes presionado un emoji de pareja, se revelará un selector de emojis de varias personas para el estado cero. Cuando el usuario presione la mitad izquierda de un emoji, se actualizará la vista previa del emoji en la parte inferior derecha. Cuando el usuario selecciona ambas mitades de un emoji, la vista previa del emoji en la parte inferior derecha mostrará el emoji completo y el usuario podrá ingresarlo.
Versión 1.5.0-rc01
21 de agosto de 2024
Lanzamiento de androidx.emoji2:emoji2-*:1.5.0-rc01
. La versión 1.5.0-rc01 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad con Emoji 15.1 y la IU del selector de emojis bidireccional. Con un simple clic en el selector bidireccional, los usuarios pueden alternar entre las versiones de los emojis que miran hacia la izquierda y hacia la derecha.
- Se agregó compatibilidad con el selector de emojis de varios tonos de piel. Si mantienes presionado un emoji de pareja, se revelará un selector de emojis de varias personas para el estado cero. Cuando el usuario presione la mitad izquierda de un emoji, se actualizará la vista previa del emoji en la parte inferior derecha. Cuando el usuario selecciona ambas mitades de un emoji, la vista previa mostrará el emoji completo y el usuario podrá ingresarlo.
Correcciones de errores
- Se quitó el esquema manual del acceso a las nuevas APIs de la plataforma, ya que esto sucede automáticamente a través del modelado de APIs cuando se usa R8 con AGP 7.3 o versiones posteriores (p.ej., R8 versión 3.3) y para todas las compilaciones cuando se usa AGP 8.1 o versiones posteriores (p.ej., D8 versión 8.1). Se recomienda a los clientes que no usan AGP que actualicen a la versión 8.1 o posterior de D8. Consulta este artículo para obtener más detalles. (If6b4c, b/345472586)
- La selección de pestañas y el indicador de
EmojiPickerView
se actualizan con un clic de retraso. (146b02, b/288261054) - La selección y el indicador de pestañas de
EmojiPickerView
no funcionan. (5e1f14, b/273883688)
Versión 1.5.0-beta01
10 de julio de 2024
Lanzamiento de androidx.emoji2:emoji2-*:1.5.0-beta01
. La versión 1.5.0-beta01 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad con Emoji 15.1 y la IU de selección de emojis bidireccional.
- Se rediseñó la selección de varios tonos de piel.
Correcciones de errores
- La selección de pestañas y el indicador de
EmojiPickerView
se actualizan con un clic de retraso. (146b02, b/288261054) - La selección y el indicador de pestañas de
EmojiPickerView
no funcionan. (5e1f14, b/273883688)
Versión 1.5.0-alpha01
13 de diciembre de 2023
Lanzamiento de androidx.emoji2:emoji2-*:1.5.0-alpha01
. La versión 1.5.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
emoji2-bundled
contiene una fuente de emojis actualizada para admitir Emoji 15.1.
Cambios en la API
- Agrega ejecutores para controlar el subproceso de devolución de llamada de
InitCallback
. (I32b67) - Ahora,
BundledEmojiCompatConfig
toma un ejecutor para controlar los subprocesos de carga. (I00e81)
Versión 1.4
Versión 1.4.0
9 de agosto de 2023
Lanzamiento de androidx.emoji2:emoji2-*:1.4.0
. La versión 1.4.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.3.0
- Se introdujo la biblioteca del selector de emojis. Consulta el documento para desarrolladores para obtener más detalles.
Versión 1.4.0-rc01
26 de julio de 2023
Lanzamiento de androidx.emoji2:emoji2-*:1.4.0-rc01
. La versión 1.4.0-rc01 contiene estas confirmaciones.
Cambios en la API
- Se introduce la lista
registerSource
(Iae92f) - Comentarios del Consejo de APIs: Se cambió el nombre de
TransitionManager.seekTo()
acreateSeekController()
. Ajusta el comentario anterior sobre la adición deTransitionManager.seekTo()
aTransitionManager.createSeekController()
. (Idbeb1) - Se agregó
ExerciseRouteResult
, que no es la superclase deData
,NoData
yConsentRequiredStates
. Se agregóExerciseRoute
como una clase independiente que contiene datos de ubicación para la ruta. (I22eed) - Se introdujo
PagerLayoutInfo
con información recopilada después de que se aprobó una medida en Pager. También se introdujo PageInfo, la información sobre una sola página medida en Pager. (Iad003, b/283098900)
Correcciones de errores
- Actualizamos los colores de
Button
,IconButton
yTextButton
según el diseño de Material 3. El rol semántico deButton
,IconButton
yTextButton
ahora se puede anular conModifier.semantics
. (Ib2495) - Se corrigió la selección de pestañas de
EmojiPickerView
y las actualizaciones de indicadores con un clic de retraso. (I4db04) FileNotFoundException
al mostrar el selector de emojis (I353e4)- Captura el
WindowManager.BadTokenException
cuando usesEmojiPickerView
(I0a144).
Versión 1.4.0-beta05
7 de junio de 2023
Lanzamiento de androidx.emoji2:emoji2-*:1.4.0-beta05
. La versión 1.4.0-beta05 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió un error introducido en la versión 1.3 que causaba que
MetricsAffectingSpans
, comoRelativeSizeSpan
, se aplicara dos veces. Una vez durante el diseño del texto y otra vez dentro deEmojiSpan.draw
. El resultado fue un dibujo con un tamaño incorrecto, que se puede ver si el intervalo cambió alguno de los parámetros de tamaño del texto. (b/283208650)
Versión 1.4.0-beta04
24 de mayo de 2023
Lanzamiento de androidx.emoji2:emoji2-*:1.4.0-beta04
. La versión 1.4.0-beta04 contiene estas confirmaciones.
En esta versión, se corrige un error presente desde la versión 1.0 en el que las vistas con un controlador no principal arrojaban una excepción cuando se intentaba actualizar los tramos de emojis después de que se completaba la carga de la fuente. No hay una solución alternativa. Si este error te afecta, actualiza a esta versión o a una posterior.
Correcciones de errores
- Las devoluciones de llamada de inicialización de
EmojiCompat
ahora usarán el controlador de cada vista, respetando las vistas que no están en el subproceso principal. (Iccbcf)
Versión 1.4.0-beta03
10 de mayo de 2023
Lanzamiento de androidx.emoji2:emoji2-*:1.4.0-beta03
. La versión 1.4.0-beta03 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió la falla de la vista emergente anidada del selector de emojis. (0acc8e)
- Genera excepciones anticipadas en
EmojiCompat getEmojiStart/getEmojiEnd
. (26177f)
Versión 1.4.0-beta02
19 de abril de 2023
Lanzamiento de androidx.emoji2:emoji2-*:1.4.0-beta02
. La versión 1.4.0-beta02 contiene estas confirmaciones.
Correcciones de errores
- Actualiza los archivos de referencia de lint (Iaa212).
Versión 1.4.0-beta01
5 de abril de 2023
Lanzamiento de androidx.emoji2:emoji2-*:1.4.0-beta01
. La versión 1.4.0-beta01 contiene estas confirmaciones.
Nuevas funciones
androidx.emoji2:emoji2-emojipicker
El selector de emojis es una solución de IU que ofrece un aspecto moderno, emojis actualizados y facilidad de uso. Los usuarios pueden explorar y seleccionar emojis y sus variantes, o bien elegir entre los emojis que usaron recientemente. Con esta biblioteca, las apps de diferentes OEM pueden proporcionar a sus usuarios una experiencia de emoji inclusiva y unificada sin que los desarrolladores tengan que compilar y mantener su propio selector de emojis desde cero.
Emojis actualizados
Cada año se lanzan emojis nuevos, y los incluiremos de forma selectiva en el selector de emojis. Para garantizar la retrocompatibilidad, realizamos una verificación interna precisa de la renderización de emojis para eliminar el tofu. Esto garantizará que la biblioteca sea compatible con varias versiones y dispositivos Android.
Variantes persistentes
Si mantienes presionado un emoji, se mostrará un menú de variantes, como diferentes géneros o tonos de piel. La variante que elijas se guardará en el selector de emojis, y la última variante seleccionada se usará en el panel principal. Con esta función, los usuarios pueden enviar sus variantes de emoji preferidas con solo un toque.
Emojis recientes
El RecentEmojiProvider
se encarga de proporcionar emojis en la categoría "Usados recientemente". La biblioteca tiene un proveedor de emojis recientes predeterminado que satisface el caso de uso más común:
- Todos los emojis seleccionados se guardan en el nivel de la app en las preferencias compartidas.
- El selector muestra, como máximo, 3 filas de emojis seleccionados, sin duplicados, en orden cronológico inverso.
Si este comportamiento predeterminado es suficiente, no es necesario que establezcas el método setRecentEmojiProvider()
.
Trabaja con EmojiCompat
Si la app tiene una instancia de EmojiCompat
, se usará en el selector de emojis para renderizar la mayor cantidad posible de emojis. Si EmojiCompat
está inhabilitado, el selector de emojis seguirá funcionando correctamente.
Cómo usar la biblioteca
Para usar la biblioteca, el desarrollador de una app debe hacer lo siguiente:
Importa
androidx.emoji2:emojipicker:$version
enbuild.gradle
.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Infla la vista del selector de emojis y, de manera opcional, establece
emojiGridRows
yemojiGridColumns
según el tamaño deseado de cada celda de emoji.- Puedes dejarlos sin configurar. El valor predeterminado es 9
emojiGridColumns
. Las filas se calcularán en función de la altura de la vista principal yemojiGridColumns
. - Puedes establecer
emojiGridRows
como un número de punto flotante para indicar que hay más emojis si te desplazas hacia abajo en XML.
<androidx.emoji2.emojipicker.EmojiPickerView android:id="@+id/emoji_picker" android:layout_width="match_parent" android:layout_height="match_parent" app:emojiGridColumns="9" />
- Puedes dejarlos sin configurar. El valor predeterminado es 9
en el código
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 deseas agregar los emojis seleccionados a un EditText, usa
setOnEmojiPickedListener()
.emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }
De manera opcional, establece
RecentEmojiProvider
. Consulta la app de ejemplo para ver una implementación de ejemplo.Opcionalmente, personaliza los diseños. Crea tu propio estilo para anular los atributos comunes del tema y aplícalo al
EmojiPickerView
. Por ejemplo, anularcolorControlNormal
cambiará el color del ícono de categoría.<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 la app de ejemplo para ver una implementación de ejemplo.
Puedes encontrar una superficie de API completa aquí.
App de ejemplo
Esta app de ejemplo demuestra casos de uso básicos y los siguientes casos adicionales:
- La vista se volvió a diseñar porque se restablecieron
emojiGridRows
yemojiGridColumns
. - Se anula el proveedor de emojis recientes para ordenar por frecuencia.
- Personalización de estilos
Cambios en la API
Se actualizó la biblioteca de Emoji Picker con las siguientes APIs nuevas:
- La clase
EmojiPickerView
, que proporciona emojis actualizados en una vista vertical desplazable con un encabezado horizontal en el que se puede hacer clic. - La capacidad de establecer la cantidad de columnas y filas en la cuadrícula del selector de emojis a través de los atributos XML
emojiGridColumns
yemojiGridRows
, o los métodossetEmojiGridColumns()
ysetEmojiGridRows()
- Se agregó la capacidad de establecer un objeto de escucha seleccionado para emojis a través del método
setOnEmojiPickedListener()
. El objeto de escucha recibirá una notificación cada vez que el usuario haga clic en un emoji. - La capacidad de proporcionar un proveedor de emojis recientes a través del método
setRecentEmojiProvider()
Esta es una función opcional. Si no se establece el proveedor de emojis recientes, la biblioteca usará uno predeterminado. El comportamiento predeterminado se define de la siguiente manera:- Todos los emojis seleccionados se guardarán en el nivel de la app en las preferencias compartidas.
- El selector mostrará, como máximo, 3 filas de emojis seleccionados, sin duplicados, en orden cronológico inverso.
- La clase
EmojiViewItem
, que contiene el emoji que se muestra y sus variantes. - La interfaz de
RecentEmojiProvider
, que se puede implementar para proporcionar una lista de emojis recientes. ElrecentEmojiProvider
se encarga de proporcionar emojis en la categoría "Usados recientemente". - La interfaz de
RecentEmojiAsyncProvider
, que se puede implementar para proporcionar una lista de emojis recientes. ElRecentEmojiAsyncProvider
se encarga de proporcionar emojis en la categoría "Usados recientemente". Esta interfaz es equivalente aRecentEmojiProvider
, que permite a los clientes anular el métodogetRecentEmojiListAsync()
para proporcionar emojis recientes. - La clase
RecentEmojiProviderAdapter
, que es un adaptador paraRecentEmojiAsyncProvider
y que implementaRecentEmojiProvider
.
Versión 1.4.0-alpha01
22 de marzo de 2023
Lanzamiento de androidx.emoji2:emoji2-*:1.4.0-alpha01
. La versión 1.4.0-alpha01 contiene estas confirmaciones.
Correcciones de errores
- Se corrigieron pruebas, se inhabilitaron pruebas no determinísticas y se realizaron limpiezas.
Versión 1.3
Versión 1.3.0
22 de marzo de 2023
Lanzamiento de androidx.emoji2:emoji2-*:1.3.0
. La versión 1.3.0 contiene estas confirmaciones.
Cambios importantes desde 1.2.0
- Esta versión permite que Compose Foundation
1.4.0
y versiones posteriores habiliten la integración de emoji2. - También permite reemplazar
EmojiSpans
con código de dibujo personalizado y admite exclusiones de emojis definidas en Android.
Versión 1.3.0-rc01
8 de marzo de 2023
Lanzamiento de androidx.emoji2:emoji2-*:1.3.0-rc01
. La versión 1.3.0-rc01 contiene estas confirmaciones.
Nuevas funciones
- Esta versión admite la integración de Compose de emoji2.
Cambios en la API
- Se reemplazaron los intervalos del código de dibujo personalizado.
- Se permiten las consultas sobre exclusiones del sistema.
Correcciones de errores
- También se corrigió un error por el que no se aplicaban correctamente los intervalos de fondo detrás de
EmojiSopans
.
Versión 1.3.0-beta03
23 de febrero de 2023
Lanzamiento de androidx.emoji2:emoji2-bundled:1.3.0-beta03
, androidx.emoji2:emoji2-views:1.3.0-beta03
y androidx.emoji2:emoji2-views-helper:1.3.0-beta03
.
22 de febrero de 2023
Lanzamiento de androidx.emoji2:emoji2:1.3.0-beta03
. La versión 1.3.0-beta03 contiene estas confirmaciones.
Nuevas funciones
- Sin cambios Esta versión se lanzó para preparar la integración de Compose.
Versión 1.3.0-beta02
8 de febrero de 2023
Lanzamiento de androidx.emoji2:emoji2-*:1.3.0-beta02
. La versión 1.3.0-beta02 contiene estas confirmaciones.
Nuevas funciones
- Esta versión es una estabilización para admitir la integración de Compose.
Versión 1.3.0-beta01
25 de enero de 2023
Lanzamiento de androidx.emoji2:emoji2-*:1.3.0-beta01
. La versión 1.3.0-beta01 contiene estas confirmaciones.
Nuevas funciones
- Se permiten las consultas sobre exclusiones del sistema.
- Se reemplazaron los intervalos del código de dibujo personalizado.
- También se corrigió un error por el que no se aplicaban correctamente los intervalos de fondo detrás de
EmojiSopans
. - Esta versión agrega las APIs necesarias para admitir
EmojiCompat
en Compose. En una versión futura, se admitirá la compatibilidad con Compose para emojis.
Versión 1.3.0-alpha01
11 de enero de 2023
Lanzamiento de androidx.emoji2:emoji2-*:1.3.0-alpha01
. La versión 1.3.0-alpha01 contiene estas confirmaciones.
Nuevas APIs para interacciones de nivel inferior
- Permiten las consultas sobre exclusiones del sistema.
- Se reemplazaron los intervalos del código de dibujo personalizado.
- También se corrigió un error por el que no se aplicaban correctamente los intervalos de fondo detrás de
EmojiSopans
. - Esta versión agrega las APIs necesarias para admitir
EmojiCompat
en Compose. En una versión futura, se admitirá la compatibilidad con Compose para emojis.
Cambios en la API
- Se agregó la capacidad de consultar exclusiones del sistema a
TypefaceEmojiRasterizer
(I5653e). - Se agregó una nueva API de
EmojiCompat.SpanFactory
para reemplazar el comportamiento predeterminado deEmojiSpan
por código personalizado de dibujo y tamaño (Ib69d9). - Se agregó
EmojiCompat
a Compose (I96f37, b/139326806).
Correcciones de errores
- Emoji2 ahora dibujará correctamente los fondos desde
BackgroundSpan
(Ide6a8, b/230525134). - Se completaron las APIs de AppCompat para 1.5.0-beta01 (I2a43d, b/236866227).
Versión 1.2
Versión 1.2.0
10 de agosto de 2022
Lanzamiento de androidx.emoji2:emoji2-*:1.2.0
. La versión 1.2.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.1.0
Esta es una versión con correcciones de errores. No se agregaron funciones ni APIs nuevas desde la versión 1.1.0.
Las apps que usan PrecomputedText
o TextView.setText(char[])
deben priorizar la transmisión de esta versión.
Se corrigieron los siguientes errores:
Emoji2
agregará emojis aPrecomputedText
y descartará el diseño de texto procesado previamente (I47d06, b/211231958).- Se corrigieron fallas del editor de portabilidad a versiones anteriores de Android P a
EditText
, que está configurado para usar Emoji2 (Ifd709, b/216891011). - Se corrigió la falla que se producía cuando Emoji2 cargaba la fuente y se usaba
TextView.setText(char[])
(Id511e, b/206859724).
Versión 1.2.0-rc01
27 de julio de 2022
Lanzamiento de androidx.emoji2:emoji2-*:1.2.0-rc01
. La versión 1.2.0-rc01 contiene estas confirmaciones.
- Sin modificaciones desde la última versión beta.
Versión 1.2.0-beta01
13 de julio de 2022
Lanzamiento de androidx.emoji2:emoji2-*:1.2.0-beta01
. La versión 1.2.0-beta01 contiene estas confirmaciones.
Nuevas funciones
- No hay cambios desde la última versión (esta versión es compatible con la versión de AppCompat).
Versión 1.2.0-alpha04
20 de abril de 2022
Lanzamiento de androidx.emoji2:emoji2-*:1.2.0-alpha04
. La versión 1.2.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
- No hay cambios en esta versión.
Versión 1.2.0-alpha03
6 de abril de 2022
Lanzamiento de androidx.emoji2:emoji2-*:1.2.0-alpha03
. La versión 1.2.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
- No hay cambios desde la última versión (esta versión es compatible con la versión de AppCompat).
Versión 1.2.0-alpha02
23 de marzo de 2022
Lanzamiento de androidx.emoji2:emoji2-*:1.2.0-alpha02
. La Versión 1.2.0-alpha02 contiene estas confirmaciones.
Correcciones de errores
- Emoji2 agregará emojis a
PrecomputedText
y descartará el diseño de texto procesado previamente (I47d06, b/211231958). - Se corrigieron fallas del editor de portabilidad a versiones anteriores de Android P a EditText, que está configurado para usar Emoji2 (Ifd709, b/216891011).
- Se corrigió la falla que se producía cuando Emoji2 cargaba la fuente y se usaba
TextView.setText(char[])
(Id511e, b/206859724).
Versión 1.2.0-alpha01
23 de febrero de 2022
Lanzamiento de androidx.emoji2:emoji2-*:1.2.0-alpha01
. La versión 1.2.0-alpha01 contiene estas confirmaciones.
Sin cambios desde 1.1.0.
1.1
Versión 1.1.0
23 de febrero de 2022
Lanzamiento de androidx.emoji2:emoji2-*:1.1.0
. La versión 1.1.0 contiene estas confirmaciones.
Cambios importantes desde 1.0.0
- emoji2-bundled contiene fuente de emoji 14.
- La nueva API de
getEmojiMatch
muestra información precisa de los teclados para decidir cómo se mostrará un emoji en presencia de una fuente de EmojiCompat que se encuentra detrás de la fuente del sistema. - Se corrigió un error de
NumberKeyListener
, por lo que la entrada de dígitos ya filtra caracteres correctamente.
Versión 1.1.0-rc01
9 de febrero de 2022
Se lanzó androidx.emoji2:emoji2-*:1.1.0-rc01
. La versión 1.1.0-rc01 contiene estas confirmaciones.
Nuevas funciones
No hay cambios desde la versión beta.
Nuevas funciones en comparación con Emoji2 1.0.0:
emoji2-bundled
contiene la fuente de emojis 14.- La nueva API de
getEmojiMatch
muestra información precisa de los teclados para decidir cómo se mostrará un emoji en presencia de una fuente de EmojiCompat que se encuentra detrás de la fuente del sistema. - Se corrigió un error de
NumberKeyListener
, por lo que la entrada de dígitos ya filtra caracteres correctamente.
Versión 1.1.0-beta01
26 de enero de 2022
Lanzamiento de androidx.emoji2:emoji2-*:1.1.0-beta01
. La versión 1.1.0-beta01 contiene estas confirmaciones.
Correcciones de errores
- Lanzamiento de androidx-emoji2 beta01. No hay cambios desde alpha01 (Ic61d9).
Versión 1.1.0-alpha01
15 de diciembre de 2021
Lanzamiento de androidx.emoji2:emoji2-*:1.1.0-alpha01
. La versión 1.1.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
emoji2-bundled
contiene la fuente de emojis 14.- La nueva API de
getEmojiMatch
muestra información precisa de los teclados para decidir cómo se mostrará un emoji en presencia de una fuente de EmojiCompat que se encuentra detrás de la fuente del sistema. - Se corrigió un error de
NumberKeyListener
, por lo que la entrada de dígitos ya filtra caracteres correctamente.
Cambios en la API
- Se agregó la nueva API de
getEmojiMatch
para permitir que los teclados busquen con mayor precisión el comportamiento de coincidencia de emojis en EmojiCompat. hasEmojiGlyph
dejó de estar disponible, ya que el valor booleano que mostraba era inexacto cuando se probaba con una fuente anterior a la fuente de emojis de la plataforma. Se reemplazó congetEmojiMatch
(Ie693d).
Correcciones de errores
- Emoji2 no unirá instancias de
NumberKeyListener
, lo que permitirá queTextView
establezca la configuración regional. - Appcompat no unirá las instancias de
NumberKeyListener
que se pasen asetKeyListener
, lo que permite queTextView
establezca correctamente la configuración regional enNumberKeyListeners
(Ibf113, b/207119921).
1.0
Versión 1.0.1
15 de diciembre de 2021
Lanzamiento de androidx.emoji2:emoji2-*:1.0.1
. La versión 1.0.1 contiene estas confirmaciones.
Correcciones de errores
Emoji2
no unirá instancias deNumberKeyListener
, lo que permitirá queTextView
establezca la configuración regional.- Appcompat no unirá las instancias de
NumberKeyListener
que se pasen asetKeyListener
, lo que permite queTextView
establezca correctamente la configuración regional enNumberKeyListeners
(Ibf113, b/207119921).
Versión 1.0.0
17 de noviembre de 2021
Lanzamiento de androidx.emoji2:emoji2-*:1.0.0
. La versión 1.0.0 contiene estas confirmaciones.
Funciones principales de la versión 1.0.0
androidx.emoji2 reemplaza a androidx.emoji con funciones adicionales como las siguientes:
- Reducción del tamaño de los APKs en comparación a androidx.emoji
- Configuración automática
- Incorporación como dependencia a appcompat 1.4
Para obtener más información sobre androidx.emoji2, consulta Compatibilidad con emojis modernos y nuestra charla Displaying ALL the emojis in your app Android Dev (Cómo mostrar TODOS los emojis en la app) de Android Dev Summit.
Versión 1.0.0-rc01
27 de octubre de 2021
Lanzamiento de androidx.emoji2:emoji2-*:1.0.0-rc01
. La versión 1.0.0-rc01 contiene estas confirmaciones.
- No hay cambios desde la versión beta02.
Emoji2 versión 1.0.0-beta01
15 de septiembre de 2021
Lanzamiento de androidx.emoji2:emoji2-*:1.0.0-beta01
. La Versión 1.0.0-beta01 contiene estas confirmaciones.
Cambios en la API
Se agregó
setLoadingExecutor
aFontRequestEmojiCompatConfig
, que reemplaza la API anterior desetHandler
. Esta API permite que las apps configurenFontRequestEmojiCompatConfig
para usar cualquier ejecutor en segundo plano.Esta modificación es un cambio rotundo de
androidx.emoji:emoji
, por lo que se retiene asetHandler
como API obsoleta y no operativa para ayudar en la migración (I6cd48).EmojiCompat configura correctamente
EditorInfo.extras
en Android 11.- Los widgets personalizados que usan IME y no crean subclases de EditText pueden llamar a
EmojiCompat.updateEditorInfo
para informar al IME que son compatibles con el procesamiento de EmojiCompat (I1ea9b).
- Los widgets personalizados que usan IME y no crean subclases de EditText pueden llamar a
Correcciones de errores
- Se corrigió
DefaultEmojiCompatConfig
para buscar correctamente el proveedor de fuentes de emojis en los niveles de API 19 y 28. Esto soluciona un error que se introdujo en Emoji2 1.0.0-alpha01 (Ib33d8, b/197906329).
Versión 1.0.0-alpha03
30 de junio de 2021
Lanzamiento de androidx.emoji2:emoji2-*:1.0.0-alpha03
. La versión 1.0.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
Esta es una versión de corrección de errores y estabilización.
- Ahora, EmojiEditTextHelper permite que se pase
null
como KeyListener. De esta manera, se habilita el comportamiento de la plataforma que permite que los valores nulos se apliquen al emoji compatible con las implementaciones de EditText. - Cuando se usa EmojiCompatInitializer, se mejora el retraso del primer inicio para que se active después de que se reanuda la primera actividad. De esta manera, se permite que el inicio de una app se realice sin problemas y se evita cargar la fuente para los inicios de la app que nunca muestran una IU. Después de un retraso breve, EmojiCompat creará un subproceso para cargar la fuente del emoji.
- Se agregó una dependencia nueva en
androidx.lifecycle:lifecycle-process
desdeandroidx.emoji2:emoji2
para implementar el retraso, lo que tendrá un impacto insignificante en el tamaño del APK para las apps que ya incluyen un ciclo de vida (como las que tienen appcompat).
Cambios en la API
- Se permite KeyListener nulo en AppCompatEditText. Esto revierte la anotación no nula que se agregó a AppCompatEditText en la versión 1.4.0-alpha01 y restablece el comportamiento anterior cuando se pasa un valor nulo (I21482, b/189559345).
Correcciones de errores
- Se cambió EmojiCompatInitializer para retrasar la carga de la fuente hasta 500 ms después del primer elemento
Activity.onResume
. De esta manera, una actividad puede realizarApplication.onCreate
yActivity.onCreate
sin problemas, al mismo tiempo que garantiza que la fuente del emoji se cargue poco después del inicio de la app (I4bff7).
Versión 1.0.0-alpha02
2 de junio de 2021
Lanzamiento de androidx.emoji2:emoji2:1.0.0-alpha02
, androidx.emoji2:emoji2-views:1.0.0-alpha02
y androidx.emoji2:emoji2-views-helper:1.0.0-alpha02
. La versión 1.0.0-alpha02 contiene estas confirmaciones.
Cambios en la API
- Se cambió el nombre del paquete en
emoji2-views-helper
porandroidx.emoji2.viewsintegration
Este es un cambio rotundo para AppCompat1.4.0-alpha01
, y las apps deben asegurarse de que la dependencia de AppCompat esté actualizada para usar la nueva versión de emoji2 (Ie8397).
Versión 1.0.0-alpha01
18 de mayo de 2021
Lanzamiento de androidx.emoji2:emoji2:1.0.0-alpha01
, androidx.emoji2:emoji2-views:1.0.0-alpha01
y androidx.emoji2:emoji2-views-helper:1.0.0-alpha01
. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Funciones de esta versión inicial
Se recomienda la integración de EmojiCompat en todas las apps para admitir emojis modernos de API19. Todo el contenido de tu app generado por el usuario contiene 🎉.
EmojiCompat pasó de los artefactos androidx.emoji
a los nuevos androidx.emoji2
, ahora en alpha01. Los artefactos nuevos reemplazan a la versión anterior.
Se agrega emoji2
como dependencia a AppCompat a partir de AppCompat 1.4.0-alpha01
y está habilitada de forma predeterminada para las vistas de AppCompat.
El artefacto emoji2
incorpora una nueva configuración automática a través de la biblioteca androidx.startup
. Ya no tienes que escribir ningún código 👨🏽💻 para que se muestre 🐻❄️.
Cambios en Emoji2 en comparación con emoji
- Se agregó la nueva configuración automática
EmojiCompatInitializer
a través deandroidx.startup
. - Se agregó una nueva configuración predeterminada que usa la ubicación del servicio para encontrar un proveedor de fuentes descargables en
DefaultEmojiCompatConfiguration
. - Las clases pasaron del paquete
androidx.emoji
aandroidx.emoji2
. - Se dividió
EmojiTextView
y las vistas relacionadas en un artefactoemoji2-views
independiente. Solo debe usarse si la app no usa appcompat. - Se extrajeron asistentes para integrar EmojiCompat en vistas personalizadas en un artefacto
emoji2-views-helper
independiente. - Se agregaron anotaciones de nulabilidad.
- Ahora, se pueden usar los ayudantes en
emoji2-views-helper
aunque no se inicialiceEmojiCompat
(antes arrojaban una excepción).
¿Qué dependencia deberías agregar?
- Las apps con AppCompat deberían actualizarse a la versión Appcompat
1.4.0-alpha01
o versiones posteriores. - Las apps sin AppCompat que usan
TextView
yEditText
desde la plataforma deben usarEmojiTextView
y las clases relacionadas deemoji2-views
.
Cómo brindar asistencia en vistas personalizadas
- Las apps con AppCompat deberían extender
AppCompatTextView
,AppCompatButton
, etc. en lugar deTextView
, y así sucesivamente. - Las apps sin AppCompat deben agregar la dependencia a
androidx.emoji2:emoji2-views-helper
y usar asistentes para integrarla con subclasesTextView
oEditText
personalizadas.
Cómo configurar la inicialización automática
Las apps pueden inhabilitar la inicialización automática si se agrega al manifiesto:
<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>
Se inhabilita la configuración automática y, luego, puedes pasar una configuración personalizada a
EmojiCompat.init
. La configuración predeterminada del sistema se puede recuperar deDefaultEmojiCompatConfig.create(context)
para realizar más configuraciones antes de pasar aEmojiCompat.init
.