Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Emoji2

Muestra emojis en dispositivos modernos y antiguos.
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
10 de agosto de 2022 1.2.0 - - -

Cómo declarar dependencias

Para agregar una dependencia en Emoji2, debes agregar el repositorio Maven de Google a tu proyecto. Lee el repositorio 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.2.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.2.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 en esta biblioteca antes de crear uno nuevo. Para agregar tu voto a un error existente, haz clic en el botón de la estrella.

Cómo crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

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.

  • Esta es una versión con correcciones de errores. No se agregaron nuevas funciones ni APIs.
  • Las apps que usan PrecomputedText o TextView.setText(char[]) deben priorizar la transmisión de esta versión.

Correcciones de errores en esta versión

  • Emoji2 agregará emojis a PrecomputedText y descartará el diseño de texto procesado previamente (I47d06, b/211231958).
  • Corregimos 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 para ofrecer compatibilidad con la versión AppCompat).

Versión 1.2.0-alpha04

20 de abril de 2022

Se lanzó 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 para ofrecer compatibilidad con la versión 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)
  • Corrección de 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 la versión 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 la versión 1.0.0

  • emoji2-bundled contiene la fuente 14 de los emojis
  • La nueva API de getEmojiMatch muestra información precisa para los teclados que sirve para decidir cómo se mostrará un emoji en presencia de una fuente compatible con emoji que se encuentre 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

Lanzamiento de 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 emojis2 1.0.0:

  • emoji2-bundled contiene la fuente de emojis 14.
  • La nueva API de getEmojiMatch muestra información precisa para los teclados que sirve para decidir cómo se mostrará un emoji en presencia de una fuente compatible con emoji que se encuentre 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

  • Se lanzó 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 para los teclados que sirve para decidir cómo se mostrará un emoji en presencia de una fuente compatible con emoji que se encuentre 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ó una nueva API de getEmojiMatch para permitir que los teclados busquen con mayor precisión coincidencias 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ó con getEmojiMatch (Ie693d).

Correcciones de errores

  • Emoji2 no unirá instancias de NumberKeyListener, lo que permitirá que TextView establezca la configuración regional.
  • Appcompat no unirá las instancias de NumberKeyListener que se pasen a setKeyListener, lo que permite que TextView establezca correctamente la configuración regional en NumberKeyListeners (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 de NumberKeyListener, lo que permitirá que TextView establezca la configuración regional.
  • Appcompat no unirá las instancias de NumberKeyListener que se pasen a setKeyListener, lo que permite que TextView establezca correctamente la configuración regional en NumberKeyListeners (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:

  • Reducción del tamaño de los APK en comparación a androidx.emoji.
  • Configuración automática.
  • Se agregó como dependencia a appcompat 1.4.

Para obtener más información sobre androidx.emoji2, consulta Cómo admitir emojis modernos y nuestra charla Cómo mostrar TODOS los emojis en la app de Android Dev Summit.

Versión 1.0.0-rc01

27 de octubre de 2021

Se lanzó 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 a FontRequestEmojiCompatConfig, que reemplaza la API anterior de setHandler. Esta API permite que las apps configuren FontRequestEmojiCompatConfig para usar cualquier ejecutor en segundo plano.

    Esta modificación es un cambio rotundo de androidx.emoji:emoji, por lo que se retiene a setHandler 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)

Correcciones de errores

  • Se corrigió DefaultEmojiCompatConfig para buscar correctamente el proveedor de fuentes de emojis en los niveles de API 19 y 28. Esto corrige 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.

  1. 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.
  2. 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 desde androidx.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 realizar Application.onCreate y Activity.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 por androidx.emoji2.viewsintegration. Este es un cambio rotundo para AppCompat 1.4.0-alpha01, y las apps deberán asegurarse de que la dependencia de AppCompat se actualice a fin de usar la versión nueva 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 emojis2 en comparación con emojis

  • Se agregó la nueva configuración automática EmojiCompatInitializer a través de androidx.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 a androidx.emoji2.
  • Se dividió EmojiTextView y vistas relacionadas en un artefacto emoji2-views independiente. Solo se debe usar si tu app no utiliza 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 inicialice EmojiCompat (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 y EditText desde la plataforma deben usar EmojiTextView y las clases relacionadas de emoji2-views.

Cómo brindar asistencia en vistas personalizadas

  • Las apps con AppCompat deberían extender AppCompatTextView, AppCompatButton, etc. en lugar de TextView, y así sucesivamente.
  • Las apps sin AppCompat deben agregar la dependencia a androidx.emoji2:emoji2-views-helper y usar asistentes para integrarla con subclases TextView o EditText 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 de DefaultEmojiCompatConfig.create(context) para realizar más configuraciones antes de pasar a EmojiCompat.init.