O seletor de emojis é uma solução de interface que oferece uma aparência moderna, emojis atualizados e facilidade de uso. Os usuários podem procurar e selecionar emojis e as variantes deles ou escolher entre os emojis usados recentemente.
Com essa biblioteca, apps de várias fontes podem oferecer uma experiência de emoji inclusiva e unificada aos usuários sem que os desenvolvedores precisem criar e manter o próprio seletor de emoji do zero.
Recursos
O Emoji Picker tem os seguintes recursos:
Emojis atualizados
Os emojis recém-lançados são incluídos seletivamente no seletor de emojis. A biblioteca Emoji Picker é compatível com várias versões e dispositivos do Android.
Variantes fixas
Toque e pressione um emoji para mostrar um menu de variantes, como diferentes gêneros ou tons de pele. A variante escolhida é salva no seletor de emojis, e a última variante selecionada é usada no painel principal.
Com esse recurso, os usuários podem enviar as variantes de emoji preferidas com um toque.
Emojis recentes
O RecentEmojiProvider
é responsável por fornecer emojis na
categoria Usuários recentes. A biblioteca tem um provedor de emoji recente padrão
que atende ao caso de uso mais comum:
- Todos os emojis selecionados são salvos por app nas preferências compartilhadas.
- O seletor mostra no máximo três linhas de emojis selecionados, sem duplicações, em ordem cronológica inversa.
Se esse comportamento padrão for suficiente, não será necessário usar
setRecentEmojiProvider()
.
No entanto, talvez seja necessário personalizar o comportamento do provedor. Confira alguns cenários comuns:
- Você quer armazenar emojis selecionados diferentes por conta de usuário.
- Você quer usar o armazenamento de dados em vez das preferências compartilhadas.
- Você quer mostrar os emojis recentes classificados por frequência.
Em seguida, implemente a interface RecentEmojiProvider
e defina-a usando
setRecentEmojiProvider()
.
Seletor de direção
A partir do Emoji 15.1, o seletor de emojis oferece suporte a emojis bidirecionais. Os usuários podem tocar no seletor bidirecional para alternar entre as versões do emoji voltadas para a esquerda e para a direita.
Seletor de emojis para várias pessoas
Os usuários podem tocar e pressionar casais de emojis para revelar seleções de emojis com várias pessoas.
Quando o usuário seleciona a metade esquerda ou direita de um casal de emoji, o seletor mostra uma visualização no canto inferior direito, como mostrado nas figuras 7 e 8. Depois de selecionar as duas metades do casal de emojis, os usuários podem selecionar a visualização para compor o casal de emojis personalizado.
Compatibilidade com EmojiCompat
Se ativada, uma instância EmojiCompat
é usada no seletor de emojis para renderizar o
maior número possível de emojis. No entanto, o Seletor de emoji não exige EmojiCompat
.
Pré-requisitos
O app precisa segmentar o Android 5.0 (nível 21 da API) ou versões mais recentes.
Usar a biblioteca
Importe
androidx.emoji2:emojipicker:$version
no arquivobuild.gradle
do app.dependencies { implementation "androidx.emoji2:emojipicker:$version" }
Infle a visualização do seletor de emojis e, opcionalmente, defina
emojiGridRows
eemojiGridColumns
.- O número padrão de
emojiGridColumns
é 9. - A contagem de linhas é calculada com base na altura da visualização mãe e no valor de
emojiGridColumns
. - Use um valor de ponto flutuante para
emojiGridRows
para indicar que o usuário pode rolar para ver mais 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)
- O número padrão de
Use
setOnEmojiPickedListener()
para anexar o emoji selecionado a uma visualização. Por exemplo, para anexar a umEditText
, faça o seguinte:emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }
Opcionalmente, defina
RecentEmojiProvider
. Consulte o app de exemplo para conferir um exemplo de implementação.Personalizar estilos, se quiser. Crie seu próprio estilo para substituir atributos de tema comuns e aplique o estilo ao
EmojiPickerView
. Por exemplo, modificarcolorControlNormal
muda a cor do ícone da categoria.<style name="CustomStyle" > <item name="colorControlNormal">#FFC0CB</item> </style> <androidx.emoji2.emojipicker.EmojiPickerView android:id="@+id/emoji_picker" android:layout_width="match_parent" android:layout_height="match_parent" android:theme="@style/CustomStyle" app:emojiGridColumns="9" />
App de exemplo
O app de exemplo do seletor de emojis demonstra casos de uso básicos, além dos seguintes cenários:
- Recalculo do layout quando
emojiGridRows
ouemojiGridColumns
são redefinidos. - Um provedor de emoji recente substituído que classifica por frequência.
- Personalização de estilo adicional.