O seletor de emojis é uma solução de interface que oferece uma aparência moderna e moderna. emojis 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, os aplicativos de diversas fontes podem proporcionar um ambiente uma experiência de emoji unificada para os 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 A biblioteca do seletor de emojis é compatível com várias versões do Android e dispositivos.
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 de emoji preferidas com uma tocar.
![variantes de emojis](https://developer.android.google.cn/static/images/develop/ui/views/text-and-emoji/emoji-variants.png?authuser=19&hl=pt-br)
Emoji recente
![emoji recente](https://developer.android.google.cn/static/images/develop/ui/views/text-and-emoji/recent-emoji.png?authuser=19&hl=pt-br)
O RecentEmojiProvider
é responsável por fornecer emojis no
Usados recentemente. A biblioteca tem um provedor de emojis recente padrão
que satisfaça o 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 e ao contrário em ordem cronológica.
Se esse comportamento padrão for suficiente, não será preciso 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, você pode implementar a interface RecentEmojiProvider
e defini-la usando
setRecentEmojiProvider()
.
Compatibilidade com EmojiCompat
Se ativado, uma instância EmojiCompat
será usada no seletor de emojis.
para renderizar o máximo de emojis possível. O seletor de emojis não exige
EmojiCompat
, no entanto.
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
nobuild.gradle
do seu 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 pai e no valor
emojiGridColumns
: - Use um valor flutuante para
emojiGridRows
para indicar que o usuário pode role para baixo para conferir 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) }
Se quiser, defina
RecentEmojiProvider
. Confira o app de exemplo para conferir um exemplo implementação.É possível personalizar estilos. Crie seu próprio estilo para substituir o tema comum. atributos 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 Emoji Picker demonstra casos de uso básicos, além de os seguintes cenários adicionais:
- 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.