Emoji2
Atualização mais recente | Versão estável atual | Próximo candidato a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
9 de fevereiro de 2022 | 1.0.1 | 1.1.0-rc01 | - | - |
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.2.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.2.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 compilação.
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.
1.1
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-bundled
contém uma fonte de emoji 14. - A nova API
getEmojiMatch
retorna 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
NumberKeyListener
que 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 essas 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-bundled
contém uma fonte de emoji 14. - A nova API
getEmojiMatch
retorna 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
NumberKeyListener
que faz com que a entrada de dígito filtre os caracteres corretamente.
Mudanças na API
- Adição da nova API
getEmojiMatch
para permitir que os teclados pesquisem com mais precisão o comportamento da correspondência de emojis na emojicompat. - O método
hasEmojiGlyph
foi 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
NumberKeyListener
transmitidas parasetKeyListener
, permitindo que aTextView
configure 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
Emoji2
não vai unir as instâncias deNumberKeyListener
, permitindo que a localidade seja configurada pelaTextView
. - A Appcompat não vai unir as instâncias de
NumberKeyListener
transmitidas parasetKeyListener
, permitindo que aTextView
configure 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 aFontRequestEmojiCompatConfig
para 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.extras
corretamente 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.updateEditorInfo
para 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
DefaultEmojiCompatConfig
foi 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
null
como 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-process
emandroidx.emoji2:emoji2
foi 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.onCreate
eActivity.onCreate
sem 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-helper
renomeado 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
EmojiCompatInitializer
usandoandroidx.startup
foi 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
DefaultEmojiCompatConfiguration
foi adicionada. - Classes movidas do pacote
androidx.emoji
paraandroidx.emoji2
. EmojiTextView
e visualizações relacionadas a um artefatoemoji2-views
foram 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-helper
separado. - Adição de anotações de nulidade.
- Agora, os auxiliares em
emoji2-views-helper
podem ser usados mesmo quando aEmojiCompat
nã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-alpha01
ou mais recente. - Apps que não usam a AppCompat com
TextView
/EditText
da plataforma precisam usarEmojiTextView
e classes relacionadas deemoji2-views
.
Como oferecer compatibilidade com visualizações personalizadas
- Apps que usam a AppCompat precisam estender
AppCompatTextView
,AppCompatButton
etc. em vez deTextView
, etc. da plataforma. - Apps que não usam a AppCompat precisam adicionar a dependência
androidx.emoji2:emoji2-views-helper
e usar auxiliares para fazerem a integração com subclassesTextView
ouEditText
personalizadas.
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
.