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.
Emoji2 Emojipicker: versão 1.0
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 pressionados os emojis de casal, um seletor de emojis para várias pessoas é aberto no 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, que pode ser inserido.
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 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 de usuário consistente com os emojis mais recentes em dispositivos e apps OEM do SO Android. Ela oferece suporte aos emojis mais recentes e uma interface do seletor de emojis, incluindo variantes de tom de pele e suporte à compatibilidade de emojis.
Mudanças na API
- Introduzimos a classe
EmojiPickerView, que oferece 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 no nível de cada app em 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".
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 pressionados os emojis de casal, um seletor de emojis para várias pessoas é aberto no 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, que pode ser inserido.
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 pressionados os emojis de casal, um seletor de emojis para várias pessoas é aberto no 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) - Introduzido
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 de
EmojiPickerViewcom um clique de atraso. (I4db04). FileNotFoundExceptionao mostrar o seletor de emojis (I353e4)- Capturar o
WindowManager.BadTokenExceptionao usarEmojiPickerView(I0a144)
Versão 1.4.0-beta05
7 de junho de 2023
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, fossem aplicados 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 emojis 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 de emojis. 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 usados recentemente
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" }Infla a visualização do seletor de emojis e, opcionalmente, define
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 principal 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 à
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 amostra.
Confira uma plataforma 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
- Correção de testes, desativação de testes instáveis e limpeza.
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
- Além disso, 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.
- Além disso, 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
- Além disso, 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
EditText, que está 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-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 desde a última versão. Esta versão é para oferecer suporte à versão 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 à versão 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.