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 elegir uno de los que usaron recientemente.
Con esta biblioteca, las apps de una variedad de fuentes pueden proporcionar una experiencia de emoji inclusiva y unificada a sus usuarios sin que los desarrolladores tengan que compilar y mantener su propio selector de emojis desde cero.
Funciones
El Selector de emojis tiene las siguientes funciones.
Emoji actualizado
Los emojis nuevos se incluyen de forma selectiva en el Selector de emojis. La biblioteca de EmojiPicker es compatible con varias versiones y dispositivos de Android.
Variantes fijas
Mantén presionado un emoji para 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 el último la variante seleccionada se usa en el panel principal.
Con esta función, los usuarios pueden enviar sus variantes de emojis preferidas con un solo toque.

Emojis recientes

RecentEmojiProvider
es responsable de proporcionar emojis en el
Usados recientemente. La biblioteca tiene un proveedor de emojis reciente predeterminado que satisface el caso de uso más común:
- Todos los emojis seleccionados se guardan por app en las preferencias compartidas.
- El selector muestra, como máximo, tres filas de emojis seleccionados, sin duplicados, en sentido inverso. orden cronológico.
Si este comportamiento predeterminado es suficiente, no necesitas usar setRecentEmojiProvider()
.
Sin embargo, es posible que debas personalizar el comportamiento del proveedor. Estos son algunos ejemplos diferentes:
- Quieres almacenar diferentes emojis seleccionados por cuenta de usuario.
- Quieres usar un almacenamiento de datos distinto de las preferencias compartidas.
- Quieres mostrar los emojis recientes ordenados por frecuencia.
Luego, puedes implementar la interfaz RecentEmojiProvider
y configurarla con setRecentEmojiProvider()
.
Selector de dirección
A partir de Emoji 15.1, el selector de emojis admite emojis bidireccionales. Los usuarios pueden presionar el selector bidireccional para alternar entre las versiones de emojis a la izquierda y a la derecha.
Figura 4: Emoji bidireccional hacia la izquierda.
Figura 5: Emoji bidireccional hacia la derecha.
Selector de emojis de varias personas
Los usuarios pueden mantener presionadas las parejas de emojis para revelar selecciones de emojis de varias personas.
Figura 6: Mantén presionado un par de emojis para revelar selecciones de emojis de varias personas.
Figura 7: Selecciona la mitad izquierda de la persona que usa el emoji.
Figura 8: Selecciona la mitad derecha de la persona que usa el emoji.
Cuando el usuario selecciona una persona con emojis a la izquierda o la derecha de un par de emojis, el selector muestra una vista previa en la parte inferior derecha, como se muestra en las figuras 7 y 8. Después de seleccionar ambas mitades del par de emojis, los usuarios pueden seleccionar la vista previa. para componer el par de emojis personalizados.
Compatibilidad con EmojiCompat
Si está habilitada, se usa una instancia de EmojiCompat
en el selector de emojis para renderizar la mayor cantidad posible de emojis. Sin embargo, el selector de emojis no requiere EmojiCompat
.
Requisitos previos
Tu app debe orientarse a Android 5.0 (nivel de API 21) o versiones posteriores.
Cómo usar la biblioteca
Importa
androidx.emoji2:emojipicker:$version
en el archivobuild.gradle
de tu app.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Aumenta la vista del selector de emojis y, de manera opcional, establece
emojiGridRows
yemojiGridColumns
- La cantidad predeterminada de
emojiGridColumns
es 9. - El recuento de filas se calcula en función de la altura de la vista superior y el valor de
emojiGridColumns
. - Usa un valor de número de punto flotante para
emojiGridRows
para indicar que el usuario puede desplazarse para ver más emojis.
<androidx.emoji2.emojipicker.EmojiPickerView android:id="@+id/emoji_picker" android:layout_width="match_parent" android:layout_height="match_parent" app:emojiGridColumns="9" />
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)
- La cantidad predeterminada de
Usa
setOnEmojiPickedListener()
para agregar el emoji seleccionado a una vista. Por ejemplo, para adjuntar a unEditText
, haz lo siguiente:emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }
De manera opcional, configura
RecentEmojiProvider
; consulta la app de ejemplo para ver un ejemplo para implementarlos.De manera opcional, puedes personalizar los estilos. Crea tu propio estilo para anular el tema común y aplica el estilo a
EmojiPickerView
. Por ejemplo, la anulación decolorControlNormal
cambia el color del ícono de la 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" />
App de ejemplo
En la app de ejemplo Emoji Picker, se muestran casos de uso básicos junto con los siguientes escenarios adicionales:
- Recalculo del diseño cuando se restablecen
emojiGridRows
oemojiGridColumns
. - Un proveedor de emojis reciente anulado que ordena por frecuencia.
- Personalización de estilo adicional