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 suas variantes ou escolher entre os emojis usados recentemente.
Com essa biblioteca, apps de várias fontes podem oferecer uma experiência de emojis inclusiva e unificada aos usuários sem que os desenvolvedores precisem criar e manter um seletor de emojis do zero.
Recursos
Emojis atualizados
Os emojis recém-lançados são incluídos de forma seletiva no seletor de emojis. A biblioteca Emoji Picker é compatível com várias versões e dispositivos Android.
Variantes fixas
Toque em um emoji e mantenha-o pressionado 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 preferidas de emojis com um toque.
Emoji recente
O RecentEmojiProvider
é responsável por fornecer emojis na categoria
Usados recentemente. A biblioteca tem um provedor de emojis 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, com duplicação eliminada, 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 diferentes emojis selecionados por conta de usuário.
- Você quiser usar o armazenamento de dados diferente das preferências compartilhadas.
- Você quer mostrar os emojis recentes classificados por frequência.
Em seguida, implemente a interface RecentEmojiProvider
e configure-a usando
setRecentEmojiProvider()
.
Compatibilidade com EmojiCompat
Se ativada, uma instância EmojiCompat
será usada no seletor de emojis
para renderizar o maior número possível de emojis. No entanto, o seletor de emojis não requer
EmojiCompat
.
Pré-requisitos
Seu app precisa ser direcionado ao 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" }
Aumente a visualização do seletor de emojis e, se quiser, 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 flutuante para
emojiGridRows
, indicando que o usuário pode rolar a tela para baixo para acessar 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 os emojis selecionados 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) }
Defina
RecentEmojiProvider
(opcional). Consulte o app de exemplo para um exemplo de implementação.É possível personalizar estilos. Crie seu próprio estilo para substituir atributos de tema comuns e aplique o estilo à
EmojiPickerView
. Por exemplo, substituircolorControlNormal
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 seletor de emojis (em inglês) demonstra casos de uso básicos e outros cenários:
- Recálculo de layout quando
emojiGridRows
ouemojiGridColumns
são redefinidos. - Um provedor de emojis recente substituído que faz a classificação por frequência.
- Personalização adicional de estilo.