Emoji2
| Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
|---|---|---|---|---|
| 10 de setembro de 2025 | 1.6.0 | - | - | - |
Declarar dependências
Para adicionar uma dependência à Emoji2, é preciso adicionar o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.
Adicione as dependências dos artefatos necessários no arquivo build.gradle para
seu app ou módulo:
Groovy
dependencies { def emoji2_version = "1.6.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.6.0" implementation("androidx.emoji2:emoji2:$emoji2_version") implementation("androidx.emoji2:emoji2-views:$emoji2_version") implementation("androidx.emoji2:emoji2-views-helper:$emoji2_version") }
Para ver mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Versão 1.6
Versão 1.6.0
10 de setembro de 2025
Lançamento de androidx.emoji2:emoji2-*:1.6.0. A versão 1.6.0 contém estes commits.
Mudanças importantes desde a versão 1.5.0:
- Suporte para emoji 16.0
- Adicione o sufixo "emoji" à descrição do conteúdo dos emojis.
Correções de bugs
- Mudança do
minSdkpadrão da API 21 para a API 23 (Ibdfca, b/380448311, b/435705964, b/435705223).
Versão 1.6.0-rc01
13 de agosto de 2025
Lançamento de androidx.emoji2:emoji2-*:1.6.0-rc01. A versão 1.6.0-rc01 contém estes commits.
Novos recursos
- Compatibilidade com o Emoji 16.0 e adição do sufixo "emoji" à descrição do conteúdo.
Mudanças na API
- Remoção de anotações
@RequiresApi(21)obsoletas (Ic4792) - Remoção de anotações
@RequiresApi(21)obsoletas (I9103b)
Versão 1.6.0-beta01
2 de julho de 2025
Lançamento de androidx.emoji2:emoji2-*:1.6.0-beta01. A versão 1.6.0-beta01 contém estes commits.
Novos recursos
- Suporte a atualizações do Emoji 16.0
- Adicione o sufixo "emoji" à descrição do conteúdo para garantir um comportamento de acessibilidade consistente em todos os apps de seleção de emojis.
Versão 1.6.0-alpha01
4 de junho de 2025
Lançamento de androidx.emoji2:emoji2-*:1.6.0-alpha01. A versão 1.6.0-alpha01 contém estes commits.
Novos recursos
- Atualizações de dados do Emoji 16.0 (Ifc878)
- Adicionar o sufixo "emoji" à descrição do conteúdo
Correções de bugs
- Agora, essa biblioteca usa anotações de nulidade do JSpecify, que são de uso de tipo. Os desenvolvedores Kotlin precisam usar os seguintes argumentos do compilador para garantir o uso correto:
-Xjspecify-annotations=strict,-Xtype-enhancement-improvements-strict-mode(Id07e7, b/326456246).
Versão 1.5
Versão 1.5.0
4 de setembro de 2024
Lançamento de androidx.emoji2:emoji2-*:1.5.0. A versão 1.5.0 contém estes commits.
Mudanças importantes desde a versão 1.4.0
- Suporte para emoji 15.1 e interface do seletor bidirecional de emojis. Um simples clique no seletor bidirecional permite que os usuários alternem entre as versões de emojis voltadas para a esquerda e para a direita.
- Suporte para seletor de emojis com vários tons de pele. Ao pressionar e manter pressionado um emoji de casal, um seletor de emojis com várias pessoas é exibido para o estado zero. Quando o usuário toca na metade esquerda de um emoji, a prévia no canto inferior direito é atualizada de acordo. Quando o usuário seleciona as duas metades de um emoji, a prévia no canto inferior direito mostra o emoji inteiro, e o usuário pode inserir.
Versão 1.5.0-rc01
21 de agosto de 2024
Lançamento de androidx.emoji2:emoji2-*:1.5.0-rc01. A versão 1.5.0-rc01 contém estes commits.
Novos recursos
- Suporte para emoji 15.1 e interface do seletor bidirecional de emojis. Um simples clique no seletor bidirecional permite que os usuários alternem entre as versões de emojis voltadas para a esquerda e para a direita.
- Suporte para seletor de emojis com vários tons de pele. Ao pressionar e manter pressionado um emoji de casal, um seletor de emojis com várias pessoas é exibido para o estado zero. Quando o usuário toca na metade esquerda de um emoji, a prévia no canto inferior direito é atualizada de acordo. Quando o usuário seleciona as duas metades de um emoji, a prévia mostra o emoji inteiro, e o usuário pode inserir.
Correções de bugs
- Removemos o esboço manual do acesso a novas APIs da plataforma, já que isso acontece automaticamente pela modelagem de API ao usar o R8 com o AGP 7.3 ou mais recente (por exemplo, a versão 3.3 do R8) e para todos os builds ao usar o AGP 8.1 ou mais recente (por exemplo, a versão 8.1 do D8). Recomendamos que os clientes que não usam o AGP atualizem para a versão 8.1 ou mais recente do D8. Veja mais detalhes neste artigo. (If6b4c, b/345472586)
- A seleção de guias e os indicadores do
EmojiPickerViewsão atualizados com um clique de atraso. (146b02, b/288261054). - A seleção e o indicador de guias do
EmojiPickerViewestão corrompidos. (5e1f14, b/273883688)
Versão 1.5.0-beta01
10 de julho de 2024
Lançamento de androidx.emoji2:emoji2-*:1.5.0-beta01. A versão 1.5.0-beta01 contém estes commits.
Novos recursos
- Suporte para emoji 15.1 e interface bidirecional de seleção de emojis.
- Redesenho da seleção de vários tons de pele.
Correções de bugs
- A seleção de guias e os indicadores do
EmojiPickerViewsão atualizados com um clique de atraso. (146b02, b/288261054). - A seleção e o indicador de guias do
EmojiPickerViewestão corrompidos. (5e1f14, b/273883688)
Versão 1.5.0-alpha01
13 de dezembro de 2023
Lançamento de androidx.emoji2:emoji2-*:1.5.0-alpha01. A versão 1.5.0-alpha01 contém estas confirmações.
Novos recursos
- O
emoji2-bundledcontém uma fonte de emoji atualizada para oferecer suporte ao Emoji 15.1.
Mudanças na API
- Adicione executores para controlar a linha de execução de callback para
InitCallback. (I32b67) - Agora, o
BundledEmojiCompatConfigusa um executor para controlar as linhas de execução de carregamento. (I00e81).
Versão 1.4
Versão 1.4.0
9 de agosto de 2023
Lançamento de androidx.emoji2:emoji2-*:1.4.0. A versão 1.4.0 contém estas confirmações.
Mudanças importantes desde a versão 1.3.0
- Introduzimos a biblioteca do seletor de emojis. Confira a documentação para desenvolvedores para mais detalhes.
Versão 1.4.0-rc01
26 de julho de 2023
Lançamento de androidx.emoji2:emoji2-*:1.4.0-rc01. A versão 1.4.0-rc01 contém estas confirmações.
Mudanças na API
- Apresentar a lista
registerSource(Iae92f) - Feedback do Conselho de APIs:
TransitionManager.seekTo()foi renomeado comocreateSeekController(). Ajuste o comentário anterior sobre a adição deTransitionManager.seekTo()aTransitionManager.createSeekController(). (Idbeb1) - Adição de
ExerciseRouteResult, que não é a superclasse deData,NoDataeConsentRequiredStates. AdicionadaExerciseRoutecomo uma classe independente que contém dados de local para a rota. (I22eed) - Introduzimos
PagerLayoutInfocom informações coletadas após uma transmissão de medição no Pager. Também foi introduzido o PageInfo, as informações sobre uma única página medida no Pager. (Iad003, b/283098900).
Correções de bugs
- Atualizamos as cores de
Button,IconButtoneTextButtonde acordo com o design do Material3. A função semântica deButton,IconButtoneTextButtonagora pode ser substituída usandoModifier.semantics. (Ib2495). - Corrigimos a seleção de guias e as atualizações de indicadores do
EmojiPickerViewcom um clique de atraso. (I4db04). FileNotFoundExceptionao mostrar o seletor de emojis (I353e4)- Capturar o
WindowManager.BadTokenExceptionao usar oEmojiPickerView(I0a144)
Versão 1.4.0-beta05
7 de junho de 2013
Lançamento de androidx.emoji2:emoji2-*:1.4.0-beta05. A versão 1.4.0-beta05 contém estes commits.
Correções de bugs
- Correção de um bug introduzido na versão 1.3 que fazia com que
MetricsAffectingSpans, comoRelativeSizeSpan, fosse aplicado duas vezes. Uma vez durante o layout do texto e outra dentro deEmojiSpan.draw. O resultado foi um desenho dimensionado incorretamente, visível se algum dos parâmetros de tamanho do texto foi alterado pelo intervalo. (b/283208650)
Versão 1.4.0-beta04
24 de maio de 2023
Lançamento de androidx.emoji2:emoji2-*:1.4.0-beta04. A versão 1.4.0-beta04 contém estes commits.
Esta versão corrige um bug presente desde a versão 1.0 em que as visualizações com um manipulador não principal geravam uma exceção ao tentar atualizar os intervalos de emoji após a conclusão do carregamento da fonte. Não há solução alternativa. Se você for afetado por esse bug, faça upgrade para essa versão ou uma mais recente.
Correções de bugs
- Os callbacks de inicialização do
EmojiCompatagora vão usar o manipulador de cada visualização, respeitando as visualizações que não estão na linha de execução principal. (Iccbcf).
Versão 1.4.0-beta03
10 de maio de 2023
Lançamento de androidx.emoji2:emoji2-*:1.4.0-beta03. A versão 1.4.0-beta03 contém estes commits.
Correções de bugs
- Correção da falha na visualização do pop-up aninhado do seletor de emojis. (0acc8e)
- Gerar exceções antecipadas no
EmojiCompat getEmojiStart/getEmojiEnd. (26177f)
Versão 1.4.0-beta02
19 de abril de 2023
Lançamento de androidx.emoji2:emoji2-*:1.4.0-beta02. A versão 1.4.0-beta02 contém estes commits.
Correções de bugs
- Atualizar arquivos de valor de referência do lint (Iaa212)
Versão 1.4.0-beta01
5 de abril de 2023
Lançamento de androidx.emoji2:emoji2-*:1.4.0-beta01. A versão 1.4.0-beta01 contém estas confirmações.
Novos recursos
androidx.emoji2:emoji2-emojipicker
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 navegar e selecionar emojis e variantes ou escolher entre os usados recentemente. Com essa biblioteca, os apps de diferentes OEMs 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.
Emojis atualizados
Novos emojis são lançados todos os anos, e vamos incluí-los seletivamente no seletor. Para garantir a compatibilidade retroativa, fazemos uma verificação interna precisa da capacidade de renderização de emojis para eliminar o tofu. Isso garante que a biblioteca seja compatível com várias versões e dispositivos Android.
Variantes fixas
Ao pressionar e manter pressionado um emoji, um menu de variantes vai aparecer, como diferentes gêneros ou tons de pele. A variante escolhida será salva no seletor de emojis, e a última selecionada será usada no painel principal. Com esse recurso, os usuários podem enviar as variantes de emoji preferidas com apenas um toque.
Emojis recentes
O RecentEmojiProvider é responsável por fornecer emojis na categoria "Usados recentemente". A biblioteca tem um provedor de emojis recentes 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 e em ordem cronológica inversa.
Se esse comportamento padrão for suficiente, não será necessário definir o método setRecentEmojiProvider().
Trabalhar com a EmojiCompat
Se o app tiver uma instância EmojiCompat, ela será usada no seletor de emojis para renderizar o máximo possível de emojis. Se EmojiCompat estiver desativado, o seletor de emojis ainda vai funcionar normalmente.
Como usar a biblioteca
Para usar a biblioteca, um desenvolvedor de apps precisa:
Importe
androidx.emoji2:emojipicker:$versionembuild.gradle.dependencies { implementation "androidx.emoji2:emojipicker:$version" }Inflar a visualização do seletor de emojis e, opcionalmente, definir
emojiGridRowseemojiGridColumnscom base no tamanho desejado de cada célula de emoji- Você pode deixar esses valores indefinidos. O padrão é 9
emojiGridColumns. As linhas serão calculadas com base na altura da visualização da família e ememojiGridColumns. - Você pode definir
emojiGridRowscomo um ponto flutuante para indicar que há mais emojis se rolar para baixo em XML.
<androidx.emoji2.emojipicker.EmojiPickerView android:id="@+id/emoji_picker" android:layout_width="match_parent" android:layout_height="match_parent">;app:emojiGridColumns="9" /- Você pode deixar esses valores indefinidos. O padrão é 9
no código
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)
Supondo que você queira anexar os emojis selecionados a um EditText, use
setOnEmojiPickedListener()emojiPickerView.setOnEmojiPickedListener { findViewById<EditText>(R.id.edit_text).append(it.emoji) }Defina
RecentEmojiProvider(opcional). Consulte o app de exemplo para ver uma implementação.Se quiser, personalize os estilos. Crie seu próprio estilo para substituir atributos de tema comuns e aplique-o ao
EmojiPickerView. Por exemplo, substituircolorControlNormalvai mudar 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" />
Confira um exemplo de implementação no app de exemplo.
Confira uma superfície de API completa aqui.
App de exemplo
Este app de exemplo demonstra casos de uso básicos e os seguintes cenários adicionais:
- O layout da visualização foi refeito porque
emojiGridRowseemojiGridColumnsforam redefinidos. - O provedor de emojis recentes é substituído para classificar por frequência.
- Personalização de estilo.
Mudanças na API
A biblioteca do seletor de emojis foi atualizada com as seguintes novas APIs:
- A classe
EmojiPickerView, que fornece emojis atualizados em uma visualização rolável vertical com um cabeçalho horizontal clicável. - A capacidade de definir o número de colunas e linhas na grade do seletor de emojis usando os atributos XML
emojiGridColumnseemojiGridRowsou os métodossetEmojiGridColumns()esetEmojiGridRows(). - A capacidade de definir um listener de emoji escolhido usando o método
setOnEmojiPickedListener(). O listener será notificado sempre que o usuário clicar em um emoji. - A capacidade de fornecer um provedor de emoji recente usando o método
setRecentEmojiProvider(). Essa é uma função opcional. Se o provedor de emojis recentes não estiver definido, a biblioteca vai usar um padrão. O comportamento padrão é definido da seguinte forma:- Todos os emojis selecionados serão salvos por app nas preferências compartilhadas.
- O seletor vai mostrar no máximo três linhas de emojis selecionados, sem duplicações e em ordem cronológica inversa.
- A classe
EmojiViewItem, que contém o emoji mostrado e as variantes dele. - A interface
RecentEmojiProvider, que pode ser implementada para fornecer uma lista de emojis recentes. OrecentEmojiProvideré responsável por fornecer emojis na categoria "Usados recentemente". - A interface
RecentEmojiAsyncProvider, que pode ser implementada para fornecer uma lista de emojis recentes. ORecentEmojiAsyncProvideré responsável por fornecer emojis na categoria "Usados recentemente". Essa interface é equivalente aRecentEmojiProvider, que permite que os clientes substituam o métodogetRecentEmojiListAsync()para fornecer emojis recentes. - A classe
RecentEmojiProviderAdapter, que é um adaptador para oRecentEmojiAsyncProvidere implementaRecentEmojiProvider.
Versão 1.4.0-alpha01
22 de março de 2023
Lançamento de androidx.emoji2:emoji2-*:1.4.0-alpha01. A versão 1.4.0-alpha01 contém estas confirmações.
Correções de bugs
- Corrigir testes, desativar testes instáveis e fazer limpezas.
Versão 1.3
Versão 1.3.0
22 de março de 2023
Lançamento de androidx.emoji2:emoji2-*:1.3.0. A versão 1.3.0 contém estas confirmações.
Mudanças importantes desde a versão 1.2.0
- Com essa versão, o Compose Foundation
1.4.0e versões mais recentes podem ativar a integração do emoji2. - Ele também permite recursos para substituir
EmojiSpanspor um código de desenho personalizado, além de compatibilidade com exclusões de emoji definidas no Android.
Versão 1.3.0-rc01
8 de março de 2023
Lançamento de androidx.emoji2:emoji2-*:1.3.0-rc01. A versão 1.3.0-rc01 contém estas confirmações.
Novos recursos
- Esta versão é para oferecer suporte à integração de composição do emoji2.
Mudanças na API
- Substitua intervalos por código de desenho personalizado.
- Consultar exclusões do sistema.
Correções de bugs
- E corrigimos um bug em que os intervalos de segundo plano não eram aplicados corretamente atrás de
EmojiSopans.
Versão 1.3.0-beta03
23 de fevereiro de 2023
Lançamento de androidx.emoji2:emoji2-bundled:1.3.0-beta03, androidx.emoji2:emoji2-views:1.3.0-beta03 e androidx.emoji2:emoji2-views-helper:1.3.0-beta03.
22 de fevereiro de 2023
Lançamento de androidx.emoji2:emoji2:1.3.0-beta03. A versão 1.3.0-beta03 contém estas confirmações.
Novos recursos
- Sem alterações. Esta versão é para preparar a integração do Compose.
Versão 1.3.0-beta02
8 de fevereiro de 2023
Lançamento de androidx.emoji2:emoji2-*:1.3.0-beta02. A versão 1.3.0-beta02 contém estas confirmações.
Novos recursos
- Esta versão é de estabilização para oferecer suporte à integração do Compose.
Versão 1.3.0-beta01
25 de janeiro de 2023
Lançamento de androidx.emoji2:emoji2-*:1.3.0-beta01. A versão 1.3.0-beta01 contém estas confirmações.
Novos recursos
- Consultar exclusões do sistema.
- Substituir os intervalos pelo código de desenho personalizado.
- E corrigimos um bug em que os intervalos de segundo plano não eram aplicados corretamente atrás de
EmojiSopans. - Esta versão adiciona as APIs necessárias para oferecer suporte a
EmojiCompatno Compose. Aguarde o suporte do Compose para compatibilidade com emojis em uma versão futura.
Versão 1.3.0-alpha01
11 de janeiro de 2023
Lançamento de androidx.emoji2:emoji2-*:1.3.0-alpha01. A versão 1.3.0-alpha01 contém estas confirmações.
Novas APIs para interações de baixo nível
- Consultar exclusões do sistema
- Substituir os intervalos do código de desenho personalizado
- E corrigimos um bug em que os intervalos de segundo plano não eram aplicados corretamente atrás de
EmojiSopans. - Esta versão adiciona as APIs necessárias para oferecer suporte a
EmojiCompatno Compose. Aguarde o suporte do Compose para compatibilidade com emojis em uma versão futura.
Mudanças na API
- Adicionamos a capacidade de consultar exclusões do sistema em
TypefaceEmojiRasterizer. (I5653e). - Adição da nova API
EmojiCompat.SpanFactorypara substituir o comportamento padrão deEmojiSpanpor um código de dimensionamento e desenho personalizado. (Ib69d9). - Adição de
EmojiCompatao Compose (I96f37, b/139326806).
Correções de bugs
- A Emoji2 agora vai desenhar corretamente os planos de fundo de
BackgroundSpan. (Ide6a8, b/230525134). - As APIs AppCompat foram finalizadas para a versão 1.5.0-beta01 (I2a43d, b/236866227).
Versão 1.2
Versão 1.2.0
10 de agosto de 2022
Lançamento de androidx.emoji2:emoji2-*:1.2.0. A versão 1.2.0 contém estas confirmações.
Mudanças importantes desde a 1.1.0
Esta é uma versão de correção de bugs. Nenhum novo recurso ou API foi adicionado desde a versão 1.1.0.
No entanto, os apps que usam PrecomputedText ou TextView.setText(char[]) precisam
priorizar a atualização para essa versão.
Os seguintes bugs foram corrigidos:
- O
Emoji2vai adicionar emojis aoPrecomputedTextdescartando o layout de texto pré-calculado. (I47d06, b/211231958). - Correção de falha do editor de backport do Android P para
EditTextconfigurado para usar emoji2. (Ifd709, b/216891011). - Correção de falha quando o emoji2 carrega a fonte e o
TextView.setText(char[])é usado. (Id511e, b/206859724).
Versão 1.2.0-rc01
27 de julho de 2022
Lançamento de androidx.emoji2:emoji2-*:1.2.0-rc01. A versão 1.2.0-rc01 contém estas confirmações.
- Nenhuma mudança desde a última versão Beta.
Versão 1.2.0-beta01
13 de julho de 2022
Lançamento de androidx.emoji2:emoji2-*:1.2.0-beta01. A versão 1.2.0-beta01 contém estas confirmações.
Novos recursos
- Nenhuma mudança em relação à última versão. Esta versão é para oferecer suporte ao lançamento do AppCompat.
Versão 1.2.0-alpha04
20 de abril de 2022
Lançamento de androidx.emoji2:emoji2-*:1.2.0-alpha04. A versão 1.2.0-alpha04 contém estas confirmações.
Novos recursos
- Não há mudanças nesta versão.
Versão 1.2.0-alpha03
6 de abril de 2022
Lançamento de androidx.emoji2:emoji2-*:1.2.0-alpha03. A versão 1.2.0-alpha03 contém estas confirmações.
Novos recursos
- Nenhuma mudança desde a última versão. Esta versão é para oferecer suporte ao lançamento do appcompat.
Versão 1.2.0-alpha02
23 de março de 2022
Lançamento de androidx.emoji2:emoji2-*:1.2.0-alpha02. A versão 1.2.0-alpha02 contém estas confirmações.
Correções de bugs
- O Emoji2 vai adicionar emojis ao
PrecomputedTextdescartando o layout de texto pré-calculado. (I47d06, b/211231958). - Correção de falha do editor de backport do Android P para EditText configurado para usar emoji2. (Ifd709, b/216891011).
- Correção de falha quando o emoji2 carrega a fonte e o
TextView.setText(char[])é usado. (Id511e, b/206859724).
Versão 1.2.0-alpha01
23 de fevereiro de 2022
Lançamento de androidx.emoji2:emoji2-*:1.2.0-alpha01. A versão 1.2.0-alpha01 contém essas confirmações.
Nenhuma mudança desde a versão 1.1.0.
1.1
Versão 1.1.0
23 de fevereiro de 2022
androidx.emoji2:emoji2-*:1.1.0 é lançado. A versão 1.1.0 contém estas confirmações.
Mudanças importantes desde a versão 1.0.0
- O emoji2-bundled contém uma fonte de emoji 14
- A nova API
getEmojiMatchretorna informações precisas para teclados para decidir como um emoji será mostrado se houver uma fonte emojicompat por trás da fonte do sistema. - Correção de bug para a classe
NumberKeyListenerque faz com que a entrada de dígitos filtre os caracteres corretamente.
Versão 1.1.0-rc01
9 de fevereiro de 2022
Lançamento de androidx.emoji2:emoji2-*:1.1.0-rc01. A versão 1.1.0-rc01 contém estas confirmações.
Novos recursos
Nenhuma mudança desde a versão Beta.
Novos recursos em relação à versão emoji2 1.0.0:
- O artefato
emoji2-bundledcontém uma fonte de emoji 14. - A nova API
getEmojiMatchretorna informações precisas para teclados para decidir como um emoji será mostrado se houver uma fonte emojicompat por trás da fonte do sistema. - Correção de bug para a classe
NumberKeyListenerque faz com que a entrada de dígito filtre os caracteres corretamente.
Versão 1.1.0-beta01
26 de janeiro de 2022
Lançamento de androidx.emoji2:emoji2-*:1.1.0-beta01. A versão 1.1.0-beta01 contém estas confirmações.
Correções de bugs
- Lançamento da androidx-emoji2 beta01. Nenhuma mudança em relação à alpha01 (Ic61d9).
Versão 1.1.0-alpha01
15 de dezembro de 2021
Lançamento de androidx.emoji2:emoji2-*:1.1.0-alpha01. A versão 1.1.0-alpha01 contém estas confirmações.
Novos recursos
- O artefato
emoji2-bundledcontém uma fonte de emoji 14. - A nova API
getEmojiMatchretorna informações precisas para teclados para decidir como um emoji será mostrado se houver uma fonte emojicompat por trás da fonte do sistema. - Correção de bug para a classe
NumberKeyListenerque faz com que a entrada de dígito filtre os caracteres corretamente.
Mudanças na API
- Adição da nova API
getEmojiMatchpara permitir que os teclados pesquisem com mais precisão o comportamento da correspondência de emojis na emojicompat. - O método
hasEmojiGlyphfoi descontinuado porque o valor booleano retornado por ele é incorreto ao testar com uma fonte mais antiga do que a fonte de emoji da plataforma. Substitua pelogetEmojiMatch(Ie693d).
Correções de bugs
- A Emoji2 não vai unir as instâncias de
NumberKeyListener, permitindo que a localidade seja configurada pelaTextView. - A Appcompat não vai unir as instâncias de
NumberKeyListenertransmitidas parasetKeyListener, permitindo que aTextViewconfigure corretamente a localidade nasNumberKeyListeners(Ibf113, b/207119921).
1
Versão 1.0.1
15 de dezembro de 2021
Lançamento de androidx.emoji2:emoji2-*:1.0.1. A versão 1.0.1 contém estas confirmações.
Correções de bugs
- A
Emoji2não vai unir as instâncias deNumberKeyListener, permitindo que a localidade seja configurada pelaTextView. - A Appcompat não vai unir as instâncias de
NumberKeyListenertransmitidas parasetKeyListener, permitindo que aTextViewconfigure corretamente a localidade nasNumberKeyListeners(Ibf113, b/207119921).
Versão 1.0.0
17 de novembro de 2021
Lançamento de androidx.emoji2:emoji2-*:1.0.0. A versão 1.0.0 contém estas confirmações.
Principais recursos de 1.0.0
androidx.emoji2 substituiu androidx.emoji e oferece estes outros recursos:
- Redução do tamanho do APK em comparação a androidx.emoji
- Configuração automática
- Adicionado como uma dependência em appcompat 1.4
Para mais informações sobre o androidx.emoji2, consulte suporte a emojis modernos e nossa palestra na Conferência de Desenvolvedores Android sobre Como exibir TODOS os emojis no seu app.
Versão 1.0.0-rc01
27 de outubro de 2021
Lançamento de androidx.emoji2:emoji2-*:1.0.0-rc01. A versão 1.1.0-rc01 contém estas confirmações.
- Nenhuma mudança desde a versão beta02.
Emoji2: versão 1.0.0-beta01
15 de setembro de 2021
Lançamento de androidx.emoji2:emoji2-*:1.0.0-beta01. A versão 1.0.0-beta01 contém estas confirmações.
Mudanças na API
Adição de
setLoadingExecutoràFontRequestEmojiCompatConfig, que substitui a API anterior desetHandler. A API permite que os apps configurem aFontRequestEmojiCompatConfigpara usar qualquer executor em segundo plano.Essa é uma alteração interruptiva de
androidx.emoji:emoji. Portanto,setHandleré retida como uma API descontinuada de ambiente autônomo para ajudar na migração (I6cd48).A EmojiCompat define
EditorInfo.extrascorretamente no Android 11- Os widgets personalizados que usam o editor de método de entrada (IME, na sigla em inglês) e não criam uma subclasse de EditText podem chamar
EmojiCompat.updateEditorInfopara informar o IME de que são compatíveis com o processamento da EmojiCompat (I1ea9b).
- Os widgets personalizados que usam o editor de método de entrada (IME, na sigla em inglês) e não criam uma subclasse de EditText podem chamar
Correções de bugs
- A
DefaultEmojiCompatConfigfoi corrigida para procurar corretamente o provedor de fontes de emojis nas APIs 19 e 28. Isso corrige um bug introduzido na emoji2 1.0.0-alpha01 (Ib33d8, b/197906329).
Versão 1.0.0-alpha03
30 de junho de 2021
Lançamento de androidx.emoji2:emoji2-*:1.0.0-alpha03. A versão 1.0.0-alpha03 contém estas confirmações.
Novos recursos
Esta é uma versão de correção de bugs e estabilização.
- EmojiEditTextHelper agora permite transmitir
nullcomo um KeyListener. Isso permite o comportamento da plataforma de aplicar valores nulos a emojis compatíveis com implementações de EditText. - Ao usar o EmojiCompatInitializer inicial, o atraso inicial da inicialização é acionado após a primeira atividade ser retomada. Isso permite que a inicialização do app ocorra sem disputas e evita carregar a fonte para inicializações do app que nunca exibem uma IU. Após um pequeno atraso, a EmojiCompat criará uma linha de execução para carregar a fonte dos emojis.
- Uma nova dependência de
androidx.lifecycle:lifecycle-processemandroidx.emoji2:emoji2foi adicionada para implementar o atraso. O impacto é insignificante no tamanho do APK para apps que já incluem o ciclo de vida (como aplicativos que usam appcompat).
Mudanças na API
- Agora, é permitido usar KeyListeners nulos em AppCompatEditText. Isso reverte a anotação não nula que foi adicionada a AppCompatEditText na versão 1.4.0-alpha01 e restaurará o comportamento anterior quando transmitida como nula (I21482, b/189559345).
Correções de bugs
- A EmojiCompatInitializer mudou para atrasar o carregamento da fonte até
500 ms após o primeiro
Activity.onResume. Isso permite que uma atividade executeApplication.onCreateeActivity.onCreatesem alterações, garantindo que a fonte de emoji seja carregada pouco depois da inicialização do app (I4bff7).
Versão 1.0.0-alpha02
2 de junho de 2021
Lançamento de androidx.emoji2:emoji2:1.0.0-alpha02, androidx.emoji2:emoji2-views:1.0.0-alpha02 e androidx.emoji2:emoji2-views-helper:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estas confirmações.
Mudanças na API
- Pacote em
emoji2-views-helperrenomeado comoandroidx.emoji2.viewsintegration. Essa é uma alteração interruptiva para AppCompat1.4.0-alpha01, e os apps precisam garantir que a dependência de AppCompat seja atualizada para usar a nova versão de emoji2 (Ie8397).
Versão 1.0.0-alpha01
18 de maio de 2021
Lançamento de androidx.emoji2:emoji2:1.0.0-alpha01, androidx.emoji2:emoji2-views:1.0.0-alpha01 e androidx.emoji2:emoji2-views-helper:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.
Recursos desta versão inicial
A integração com a emojicompat é recomendada para todos os apps oferecerem compatibilidade com emojis modernos da API19. Todo o conteúdo gerado pelo usuário no app contém 🎉.
A EmojiCompat foi movida dos artefatos androidx.emoji para o novo androidx.emoji2, agora em alpha01. Os novos artefatos substituem a versão anterior.
emoji2 foi adicionado como uma dependência de AppCompat a partir da AppCompat 1.4.0-alpha01, e é ativado por padrão para visualizações da AppCompat.
O artefato emoji2 introduz uma nova configuração automática usando a biblioteca androidx.startup. Não é mais necessário escrever códigos 👨🏽💻 para exibir 🐻❄️.
Mudanças no emoji2 a partir de emoji
- Uma nova configuração automática
EmojiCompatInitializerusandoandroidx.startupfoi adicionada. - Uma nova configuração padrão que usa o local do serviço para encontrar um provedor de fontes disponível para download em
DefaultEmojiCompatConfigurationfoi adicionada. - Classes movidas do pacote
androidx.emojiparaandroidx.emoji2. EmojiTextViewe visualizações relacionadas a um artefatoemoji2-viewsforam separadas em outro artefato. Essa opção só será usada se o app não usar a appcompat.- Auxiliares foram extraídos para integrar a emojicompat em visualizações personalizadas em um artefato
emoji2-views-helperseparado. - Adição de anotações de nulidade.
- Agora, os auxiliares em
emoji2-views-helperpodem ser usados mesmo quando aEmojiCompatnão for inicializada (antes, eles geravam uma exceção).
Qual dependência você precisa adicionar?
- Os apps que usam a AppCompat precisam fazer upgrade para a versão AppCompat
1.4.0-alpha01ou mais recente. - Apps que não usam a AppCompat com
TextView/EditTextda plataforma precisam usarEmojiTextViewe classes relacionadas deemoji2-views.
Como oferecer compatibilidade com visualizações personalizadas
- Apps que usam a AppCompat precisam estender
AppCompatTextView,AppCompatButtonetc. em vez deTextView, etc. da plataforma. - Apps que não usam a AppCompat precisam adicionar a dependência
androidx.emoji2:emoji2-views-helpere usar auxiliares para fazerem a integração com subclassesTextViewouEditTextpersonalizadas.
Como configurar a inicialização automática
Os apps podem desativar a inicialização automática ao adicionar o código a seguir ao manifesto:
<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>Isso desativa a configuração automática e será possível transmitir uma configuração personalizada para
EmojiCompat.init. A configuração padrão do sistema pode ser recuperada deDefaultEmojiCompatConfig.create(context)para mais configurações antes de ser transmitida paraEmojiCompat.init.
Emoji2 Emojipicker: versão 1.0
Versão 1.0.0-alpha03
8 de março de 2023
Lançamento de androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03. A versão 1.0.0-alpha03 contém estas confirmações.
Correções de bugs
- Recursos desnecessários foram removidos, e o tamanho da biblioteca foi reduzido em aproximadamente 0,3 MB.
Versão 1.0.0-alpha02
22 de fevereiro de 2023
Lançamento de androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estas confirmações.
Mudanças na API
- Adição de uma nova API para que clientes Java possam fornecer emojis recentes. (I39d10).
Correções de bugs
- Atualização dos recursos de emoji para oferecer suporte ao emoji 15.0 (Ib4eb3)
- Ao escolher um emoji na janela pop-up, atualize todos os emojis idênticos para o emoji recém-escolhido (exceto a linha de emojis recentes). Também anuncie o emoji ao clicar. (I892c6).
- Aguarde o carregamento do emojicompat antes de mostrar o
EmojiPickerView. (I29e03).
Versão 1.0.0-alpha01
25 de janeiro de 2023
Lançamento de androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.
Novos recursos
- Introduzimos um seletor de emojis que oferece uma experiência do usuário consistente com os emojis mais recentes em dispositivos e apps OEM do SO Android. Ele oferece suporte aos emojis mais recentes e à interface do seletor de emojis, incluindo variantes de tom de pele e suporte à compatibilidade de emojis.
Mudanças na API
- Introduzida a classe
EmojiPickerView, que fornece emojis atualizados em uma visualização rolável vertical com um cabeçalho horizontal clicável. - As colunas da grade do seletor de emojis podem ser definidas pelo atributo XML
emojiGridColumnsou pela funçãosetEmojiGridColumns(). - As linhas da grade do seletor de emojis podem ser definidas pelo atributo XML
emojiGridRowsou pela funçãosetEmojiGridRows(). - O listener de emoji escolhido pode ser definido usando
setOnEmojiPickedListener(), e ele será notificado sempre que o usuário clicar em um emoji. - O provedor de emojis recentes pode ser fornecido com
setRecentEmojiProvider(). Essa é uma função opcional. Se o provedor de emojis recentes não estiver definido, a biblioteca vai usar um provedor padrão. O comportamento padrão é definido da seguinte forma: 1) todos os emojis selecionados são salvos por app nas preferências compartilhadas. 2) O seletor vai mostrar no máximo três linhas de emojis selecionados, sem duplicações e em ordem cronológica inversa. - Introduzida a classe
EmojiViewItem, que contém o emoji mostrado e as variantes dele. - Introdução da interface
RecentEmojiProvider, que pode ser implementada para fornecer uma lista de emojis usados recentemente. OrecentEmojiProvideré responsável por fornecer emojis na categoria "Usados recentemente".