Appcompat

Permite o acesso a novas APIs em versões anteriores de API da plataforma (muitas usando o Material Design).
Atualização mais recente Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
29 de maio de 2024 1.7.0 - - -

Como declarar dependências

Para adicionar uma dependência a Appcompat, é 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 appcompat_version = "1.7.0"

    implementation "androidx.appcompat:appcompat:$appcompat_version"
    // For loading and tinting drawables on older versions of the platform
    implementation "androidx.appcompat:appcompat-resources:$appcompat_version"
}

Kotlin

dependencies {
    val appcompat_version = "1.7.0"

    implementation("androidx.appcompat:appcompat:$appcompat_version")
    // For loading and tinting drawables on older versions of the platform
    implementation("androidx.appcompat:appcompat-resources:$appcompat_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.

Criar novo problema

Consulte a documentação do Issue Tracker para saber mais.

Versão 1.7

Versão 1.7.0

29 de maio de 2024

Lançamento de androidx.appcompat:appcompat:1.7.0 e androidx.appcompat:appcompat-resources:1.7.0. A versão 1.7.0 contém estas confirmações (link em inglês).

Mudanças importantes desde a versão 1.6.0

  • AppCompatDialog agora define corretamente LifecycleOwner, SavedStateRegistryOwner e OnBackPressedDispatcherOwner na visualização de decoração da caixa de diálogo usando as APIs ViewTree, corrigindo problemas ao hospedar um ComposeView em um AppCompatDialog
  • A AppCompatActivity agora define o ViewTreeOnBackPressedDispatcherOwner para que seja possível extrair o agente da visualização
  • A performance do SupportMenuInflater melhorou significativamente.
  • Locale.getDefault() agora retorna a localidade do sistema após uma inicialização a frio
  • LinearLayoutCompat agora preserva os parâmetros de layout de margem

Atualizações de dependência

  • AppCompat agora depende da Activity 1.7.0.
  • AppCompat agora depende do Fragment 1.5.4.

Versão 1.7.0-rc01

14 de maio de 2024

Lançamento de androidx.appcompat:appcompat:1.7.0-rc01 e androidx.appcompat:appcompat-resources:1.7.0-rc01. A versão 1.7.0-rc01 contém estas confirmações.

Versão 1.7.0-beta01

1o de maio de 2024

Lançamento de androidx.appcompat:appcompat:1.7.0-beta01 e androidx.appcompat:appcompat-resources:1.7.0-beta01. A versão 1.7.0-beta01 contém estas confirmações (link em inglês).

Versão 1.7.0-alpha03

26 de julho de 2023

Lançamento de androidx.appcompat:appcompat:1.7.0-alpha03 e androidx.appcompat:appcompat-resources:1.7.0-alpha03. A versão 1.7.0-alpha03 contém estas confirmações.

Novos recursos

  • Suporte à localização por app em contextos fora da atividade (I58e753). Quatro novas APIs foram adicionadas para esse recurso:

    • LocaleManagerCompat.getApplicationLocales(): para os desenvolvedores tirarem as localidades por app do escopo da atividade.

    • ContextCompat.getString(): retorna strings localizadas com base nas localidades por app.

    • ContextCompat.getContextForLanguage(): o contexto retornado por esse método respeitará as localidades por app.

    • ConfigurationCompat.setLocales(): para APIs acima, define a localidade da configuração.

Outras mudanças na API

  • Adição de setLineHeight(unit, lineHeight) às classes de compatibilidade TextView (Ia9fa9).
  • Adição de setLineHeight(unit, lineHeight) às classes de compatibilidade TextView (Ib2ee1).
  • Adição de setLineHeight(unit, lineHeight) às classes de compatibilidade TextView (I15716).

Correções de bugs

  • AppCompatDialog agora define corretamente LifecycleOwner, SavedStateRegistryOwner e OnBackPressedDispatcherOwner na visualização de decoração da caixa de diálogo usando as APIs ViewTree, corrigindo problemas ao hospedar um ComposeView em um AppCompatDialog AppCompat agora depende da Activity 1.7.0. (Ib28ab, b/261314581).
  • Melhoria significativa no desempenho de SupportMenuInflater (I0b087).

Versão 1.7.0-alpha02

8 de fevereiro de 2023

Lançamento de androidx.appcompat:appcompat:1.7.0-alpha02 e androidx.appcompat:appcompat-resources:1.7.0-alpha02. A versão 1.7.0-alpha02 contém estas confirmações.

Correções de bugs

  • Correção de um vazamento de memória no AppCompatDelegate.getLocaleManagerForApplication() (44b57fd).
  • O AppCompat agora depende do Fragment 1.5.4 (I54dcd).

Versão 1.7.0-alpha01

5 de outubro de 2022

Lançamento de androidx.appcompat:appcompat:1.7.0-alpha01 e androidx.appcompat:appcompat-resources:1.7.0-alpha01. A versão 1.7.0-alpha01 contém estas confirmações.

Correções de bugs

  • A AppCompatActivity agora define o ViewTreeOnBackPressedDispatcherOwner para que seja possível extrair o agente da visualização (I1a115, b/235416503).
  • Locale.getDefault() agora retorna a localidade do sistema após uma inicialização a frio (I6a94b).
  • LinearLayoutCompat agora preserva os parâmetros de layout de margem (Id2af4).

Versão 1.6.1

Versão 1.6.1

8 de fevereiro de 2023

Lançamento de androidx.appcompat:appcompat:1.6.1 e androidx.appcompat:appcompat-resources:1.6.1. A versão 1.6.1 contém estas confirmações.

Correções de bugs

  • Correção de um vazamento de memória no AppCompatDelegate.getLocaleManagerForApplication() (44b57fd).

Versão 1.6.0

Versão 1.6.0

11 de janeiro de 2023

Lançamento de androidx.appcompat:appcompat:1.6.0 e androidx.appcompat:appcompat-resources:1.6.0. A versão 1.6.0 contém estas confirmações.

Mudanças importantes desde a versão 1.5.0

  • Agora é possível personalizar localidades de apps. Consulte AppCompatDelegate.setApplicationLocales(LocaleListCompat) para mais informações. Oferece compatibilidade com versões anteriores da nova API de preferências por idioma disponível no Android 13.
  • Atualizações de nulidade para alinhamento com o SDK do Android 13 (Tiramisu, API de nível 33).
  • As classes de compatibilidade DrawableWrapper, DrawableContainer e StateListDrawable foram adicionadas à plataforma da API pública.

Versão 1.6.0-rc01

7 de setembro de 2022

Lançamento de androidx.appcompat:appcompat:1.6.0-rc01 e androidx.appcompat:appcompat-resources:1.6.0-rc01. A versão 1.6.0-rc01 contém estas confirmações.

Correções de bugs

  • A AppCompatActivity agora define o ViewTreeOnBackPressedDispatcherOwner para que seja possível extrair o agente da visualização (I1a115, b/235416503).
  • Foi corrigido um bug que substituiu a configuração transmitida para onConfigurationChanged, o que causava problemas em testes que injetavam as próprias configurações personalizadas usando onConfigurationChanged.

Versão 1.6.0-beta01

10 de agosto de 2022

Lançamento de androidx.appcompat:appcompat:1.6.0-beta01 e androidx.appcompat:appcompat-resources:1.6.0-beta01. A versão 1.6.0-beta01 contém estas confirmações.

Mudanças na API

  • As classes de compatibilidade DrawableWrapper, DrawableContainer e StateListDrawable foram movidas para a API pública (I37f3e, b/227789566).
  • Introdução de uma nova fábrica para infladores de layout assíncronos (Ia657b).

Correções de bugs

  • A Toolbar agora vai chamar onPrepareMenu() antes do menu ser mostrado, em vez de fazer isso incondicionalmente quando o menu é criado (I2a58d, b/232206677).
  • A AppCompat agora depende explicitamente do Lifecycle 2.5.1 e SavedState 1.2.0 (I7e3e2).
  • Adicionamos suporte ao callback invocado para a classe AppCompatDelegate e à implementação da barra de ferramentas fornecida pela AppCompat (I24062).
  • As APIs AppCompat foram finalizadas para a versão 1.5.0-beta01 (I2a43d, b/236866227).
  • As APIs AppCompat foram finalizadas para a versão 1.5.0-beta01 (I2a43d, b/236866227).

Versão 1.6.0-alpha05

15 de junho de 2022

Lançamento de androidx.appcompat:appcompat:1.6.0-alpha05 e androidx.appcompat:appcompat-resources:1.6.0-alpha05. A versão 1.6.0-alpha05 foi desenvolvida em uma ramificação de pré-lançamento particular e não tem confirmações públicas.

Mudanças na API

  • Atualizações de nulidade vão ser alinhadas com a plataforma final da API no SDK do Tiramisu Beta 3.
  • O minCompileSdk agora é 33 para se alinhar com o SDK do Tiramisu Beta 3.

Versão 1.6.0-alpha04

18 de maio de 2022

Lançamento de androidx.appcompat:appcompat:1.6.0-alpha04 e androidx.appcompat:appcompat-resources:1.6.0-alpha04. Essa biblioteca foi desenvolvida em uma ramificação de pré-lançamento particular. Portanto, nenhum registro de confirmação está disponível.

Mudanças na API

  • Foi adicionada uma API para substituir a restrição de largura de SwitchCompat para uso pelo MDC-Android.

Correções de bugs

  • A configuração gerenciada é evitada quando a configuração muda fora de attachBaseConfig.

Versão 1.6.0-alpha03

27 de abril de 2022

Lançamento de androidx.appcompat:appcompat:1.6.0-alpha03 e androidx.appcompat:appcompat-resources:1.6.0-alpha03.

Esta versão exige o Android 13 Beta 1 para compilar, e não há garantias de que ela será compatível com o ambiente de execução em futuras prévias para desenvolvedores.

Novos recursos

  • Suporte para a seleção de idioma personalizado em todo o app via AppCompatDelegate.setApplicationLocales(). Delega a implementação da plataforma na API 33 e mais recentes.

Versão 1.6.0-alpha01

23 de fevereiro de 2022

Lançamento de androidx.appcompat:appcompat:1.6.0-alpha01 e androidx.appcompat:appcompat-resources:1.6.0-alpha01. A versão 1.6.0-alpha01 foi criada com base em uma ramificação interna e não tem confirmações visíveis publicamente.

Esta versão exige o Android Tiramisu DP1 para compilar, e não há garantias de que ela será compatível com ambientes de execução em versões futuras da prévia para desenvolvedores.

Novos recursos

  • Agora é possível personalizar localidades de apps. Consulte AppCompatDelegate.setApplicationLocales(LocaleListCompat) para ver mais informações. Oferece compatibilidade com versões anteriores da nova API de preferências por idioma disponível no Android 13.

Versão 1.5.1

Versão 1.5.1

7 de setembro de 2022

Lançamento de androidx.appcompat:appcompat:1.5.1 e androidx.appcompat:appcompat-resources:1.5.1. A versão 1.5.1 contém estas confirmações.

Atualizações de dependência

Versão 1.5.0

Versão 1.5.0

10 de agosto de 2022

Lançamento de androidx.appcompat:appcompat:1.5.0 e androidx.appcompat:appcompat-resources:1.5.0. A versão 1.5.0 contém estas confirmações.

Mudanças importantes desde a versão 1.4.0

  • Esta versão estável inclui melhorias na estabilidade do modo noturno, correções de bugs e suporte a tonalidades de drawable composto para widgets de texto com suporte à AppCompat, assim como melhorias à usabilidade da API. Consulte as notas da versão anteriores da série 1.5.0 para ver uma lista detalhada das mudanças.

Versão 1.5.0-rc01

27 de julho de 2022

Lançamento de androidx.appcompat:appcompat:1.5.0-rc01 e androidx.appcompat:appcompat-resources:1.5.0-rc01. A versão 1.5.0-rc01 contém estas confirmações.

Correções de bugs

  • Correção de um problema em que o wrapper de contexto do AppCompat reutilizava a implementação de recursos de apoio do contexto do aplicativo, fazendo com que o uiMode fosse substituído (Idf9d5).

Versão 1.5.0-beta01

13 de julho de 2022

Lançamento de androidx.appcompat:appcompat:1.5.0-beta01 e androidx.appcompat:appcompat-resources:1.5.0-beta01. A versão 1.5.0-beta01 contém estas confirmações.

Mudanças na API

  • Foi adicionada uma flag substituível para desativar o ajuste padrão de largura da chave (I37cb7).
  • A anotação @FloatRange foi adicionada à API Getter da posição da chave (If524c).
  • Foram adicionadas anotações de nulidade ausentes a AnimatedStateListDrawableCompat (Ieb4ec).

Correções de bugs

  • As APIs AppCompat foram finalizadas para a versão 1.5.0-beta01 (I2a43d, b/236866227).
  • O valor de className foi mudado para que ActionMenuItemView o trate como um Button (I5ee1c).

Versão 1.5.0-alpha01

6 de abril de 2022

Lançamento de androidx.appcompat:appcompat:1.5.0-alpha01 e androidx.appcompat:appcompat-resources:1.5.0-alpha01. A versão 1.5.0-alpha01 contém estas confirmações.

Mudanças na API

  • Adição de uma nova API para expor a posição da chave para as subclasses (I9bfb4).
  • Atualização de nulidade para corresponder ao Tiramisu DP2 (I0cbb7).
  • Backport da tonalidade do drawable composto para widgets derivados da TextView (Idf98c, b/165822337).
  • AppCompatDialog agora estende ComponentDialog para compatibilidade com OnBackPressedDispatcher (Id9b91, b/217620781).
  • SearchView.onQueryRefine() agora tem visibilidade protegida para permitir substituições (I6cce0, b/212882845).

Correções de bugs

  • AppCompat Toolbar agora chama a API onPrepareMenu() do MenuHostHelper (I9b9b5, b/227376894).
  • AppCompatEditText, AppCompatAutoCompleteEditText, AppCompatMultiAutoCompleteEditText não redefinem mais elementos clicáveis ou longClickable no construtor quando definidos em XML (Ic5066, b/221094907).
  • AppCompatEditText, AppCompatAutoCompleteTextView e AppCompatMultiAutoCompleteTextView não vão chamar a substituição de setKeyListener durante o construtor (I5c13a, b/208480173).
  • O AppCompat não vai unir instâncias do NumberKeyListener transmitidas para o setKeyListener, permitindo que a TextView configure corretamente a localidade em NumberKeyListeners (Ibf113, b/207119921).
  • Foi corrigido um problema com todas as subclasses NumberKeyListener apresentadas no AppCompat 1.4.0, que permitiam que caracteres inesperados, como pontuação, fossem inseridos (Iede7a, b/207119921).

Versão 1.4.2

Versão 1.4.2

1º de junho de 2022

Lançamento de androidx.appcompat:appcompat:1.4.2 e androidx.appcompat:appcompat-resources:1.4.2. A versão 1.4.2 contém estas confirmações.

Correções de bugs

  • Foi corrigida uma falha em que AppCompatDelegateImpl fazia uma chamada interna para ensureSubDecor antes da criação da barra de ações (aosp/2048349, b/226648941).

Versão 1.4.1

12 de janeiro de 2022

Lançamento de androidx.appcompat:appcompat:1.4.1 e androidx.appcompat:appcompat-resources:1.4.1. A versão 1.4.1 contém estas confirmações.

Correções de bugs

  • AppCompatEditText, AppCompatAutoCompleteTextView e AppCompatMultiAutoCompleteTextView não vão chamar o setKeyListener modificado durante o construtor (I5c13a, b/208480173).
  • Emoji2 não vai unir instâncias de NumberKeyListener, permitindo que a localidade seja configurada pela visualização de texto.
    • A Appcompat não vai unir as instâncias do NumberKeyListener transmitidas para o setKeyListener, permitindo que a TextView configure corretamente a localidade nos NumberKeyListeners (Ibf113, b/207119921).
  • Foi corrigido um problema em todas as subclasses NumberKeyListener lançadas na Appcompat 1.4.0, que permitiam que caracteres inesperados, como pontuação, fossem inseridos (b/207119921) (Iede7a, b /207119921).

Versão 1.4.0

Versão 1.4.0

17 de novembro de 2021

Lançamento de androidx.appcompat:appcompat:1.4.0 e androidx.appcompat:appcompat-resources:1.4.0. A versão 1.4.0 contém estas confirmações.

Mudanças importantes desde a versão 1.3.0

  • A biblioteca agora é destinada ao nível de linguagem Java 8.
  • O suporte a emojis atualizáveis agora é ativado por padrão na biblioteca androidx.emoji2.
  • Melhoramos a inspeção de atributo no Layout Inspector do Android Studio (I02d55).
  • Foi incluído o suporte a recursos de tonalidade e drawables vetoriais aninhados nos backports de carregamento do recurso AppCompat. No entanto, isso significa que os apps não podem substituir o getDrawable() em um objeto Resources personalizado quando os backports estão ativados (Ia6b03, b/176129022).
  • Adicionamos marcas de seleção e um plano de fundo tingível com backport a CheckedTextView (I8575c).

Versão 1.4.0-rc01

27 de outubro de 2021

Lançamento de androidx.appcompat:appcompat:1.4.0-rc01 e androidx.appcompat:appcompat-resources:1.4.0-rc01. A versão 1.4.0-rc01 contém estas confirmações.

Versão 1.4.0-beta01

29 de setembro de 2021

Lançamento de androidx.appcompat:appcompat:1.4.0-beta01 e androidx.appcompat:appcompat-resources:1.4.0-beta01. A versão 1.4.0-beta01 contém estas confirmações.

Mudanças na API

  • A Toolbar do AndroidX AppCompat agora é um MenuHost e pode gerenciar MenuProviders (I5cd95).

Correções de bugs

  • O gerenciamento da AppCompatProgressBar para as barras de progresso da lista de camadas foi corrigido (I6ece3, b/142004509).
  • android:digits são retidos corretamente no AppCompatEditText. Isso corrige o bug 193047889 introduzido na versão 1.4.0-alpha03 da AppCompat (I4b4fc, b/193047889).
  • O SDK OnReceiveContentListener foi integrado e oferece suporte a APIs lib (Ic6914, b/173814913).

Versão 1.4.0-alpha03

30 de junho de 2021

Lançamento de androidx.appcompat:appcompat:1.4.0-alpha03 e androidx.appcompat:appcompat-resources:1.4.0-alpha03. A versão 1.4.0-alpha03 contém estas confirmações.

Novos recursos

  • A biblioteca agora é destinada ao nível de linguagem Java 8.
  • O suporte a emoji2 foi adicionado para mais subclasses TextView (AppCompatMultiAutoCompleteTextView, AppCompatAutoCompleteTextView, AppCompatRadioButton, AppCompatCheckBox).

Mudanças na API

  • Uma API foi adicionada para configurar uma InputConnection para usar View.PerformReceberContent para processar chamadas do IME (editor de método de entrada, na sigla em inglês) para InputConnection.commitContent (I3a2ad).
  • A compatibilidade com EmojiCompat foi adicionada à AppCompatMultiAutoCompleteTextView (Ifece0).
  • O suporte a EmojiCompat foi adicionado à AppCompatAutoCompleteTextView (Ia1f4b).
  • O suporte a EmojiCompat foi adicionado ao AppCompatRadioButton (If08af).
  • O suporte a EmojiCompat foi adicionado à AppCompatCheckBox (I2b3bc).
  • Agora, o uso de um KeyListener nulo é permitido em AppCompatEditText. Isso vai reverter a anotação não nula que foi adicionada a AppCompatEditText na versão 1.4-alpha01 e restaurar o comportamento anterior quando transmitida como nula (I21482, b/189559345).
  • PopupMenu.setForceShowIcon foi adicionado para paridade com as APIs da plataforma (I43bb3, b/182789798).

Correções de bugs

  • Corrigido bug em AppCompatEditText que redefinirá o inputType especificado em XML para remover variações. Esse bug foi introduzido na AppCompat 1.4.0-alpha01 (I9df36, b/191061070).

Versão 1.4.0-alpha02

2 de junho de 2021

Lançamento de androidx.appcompat:appcompat:1.4.0-alpha02 e androidx.appcompat:appcompat-resources:1.4.0-alpha02. A versão 1.4.0-alpha02 contém estas confirmações.

Mudanças na API

  • Adição do construtor AppCompatDialogFragment, que usa um ID de layout (Icbf22, b/188119987).
  • A compatibilidade com o Layout Inspector foi aprimorada (I02d55).
  • Pacote em emoji2-views-helper renomeado como androidx.emoji2.viewsintegration. Essa é uma alteração interruptiva para AppCompat 1.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).

Correções de bugs

  • Correção do problema em que as atividades interrompidas não recebiam mudanças de configuração das alterações no modo noturno instrumentadas pelo AppCompat (I8fa8f, b/188681415).
  • Correção do bug em AppCompatEditText que fazia com que as visualizações fossem focalizáveis mesmo quando android:focusable="false" era especificado no XML. Esse bug foi introduzido no AppCompat 1.4.0-alpha01 (Ib9412).

Versão 1.4.0-alpha01

18 de maio de 2021

Lançamento de androidx.appcompat:appcompat:1.4.0-alpha01 e androidx.appcompat:appcompat-resources:1.4.0-alpha01. A versão 1.4.0-alpha01 contém estas confirmações.

Mudanças na API

  • O suporte a EmojiCompat foi integrado a vários widgets AppCompat (Id409b, If7a1a, Ic262d, Ib5f4a e I4fb3c).
  • Foi incluído o suporte a recursos de tonalidade e drawables vetoriais aninhados nos backports de carregamento do recurso AppCompat. No entanto, isso significa que os apps não podem modificar o getDrawable() em um objeto Resources personalizado quando os backports estão ativados (Ia6b03, b/176129022).
  • A compatibilidade com o Layout Inspector foi aprimorada (I6d771).

Correções de bugs

  • Foi corrigida uma situação em que chamar setSupportActionBar depois da configuração do callback da janela substituía o callback (Ie43ee, b/186791590).
  • Foi incluída uma solução alternativa para um problema nos SDKs 29 e 30 em que os recursos ColorStateListDrawable clonados do cache de drawable não carregavam uma cor padrão até receber uma mudança de estado (Iedb4b).
  • NPE foi evitado ao lidar com callbacks nulos de modo de ação de seleção personalizada em visualizações compatíveis com AppCompat (I033c7, b/173435375).

Atualizações de dependência

Contribuição externa

  • Plano de fundo tingível com backport e marca de seleção para CheckedTextView (I8575c).

Versão 1.3.1

Versão 1.3.1

21 de julho de 2021

Lançamento de androidx.appcompat:appcompat:1.3.1 e androidx.appcompat:appcompat-resources:1.3.1. A versão 1.3.1 contém estas confirmações.

Atualizações de dependência

  • O AppCompat agora depende das bibliotecas Activity 1.2.4 e Fragment 1.3.6. As correções dessas versões são incluídas por padrão durante o uso do AppCompat 1.3.1 (I8fbec).

Versão 1.3.0

Versão 1.3.0

18 de maio de 2021

Lançamento de androidx.appcompat:appcompat:1.3.0 e androidx.appcompat:appcompat-resources:1.3.0. A versão 1.3.0 contém estas confirmações.

Mudanças importantes desde a versão 1.2.0

  • Foi corrigida a propagação de atributos android:theme em layouts <include>d em dispositivos anteriores ao Lollipop.
  • Foi reduzido o tamanho da biblioteca ao converter vários recursos PNG em VectorDrawables.
  • O suporte a eventos de arrastar e soltar foi adicionado ao AppCompatEditText usando o OnReceiveContentListener.
  • Houve uma atualização para oferecer compatibilidade com mudanças no tratamento de encarte de janela do Android 11.
  • O suporte a RTL foi adicionado a itens de menu com ícones.
  • O suporte à inserção de conteúdo avançado (por exemplo, colar uma imagem) foi adicionado ao AppCompatEditText.

  • Dependências atualizadas: o appcompat atualizou muitas dependências transitórias para oferecer suporte a novas funções e correções:

Versão 1.3.0-rc01

24 de março de 2021

Lançamento de androidx.appcompat:appcompat:1.3.0-rc01 e androidx.appcompat:appcompat-resources:1.3.0-rc01. A versão 1.3.0-rc01 contém estas confirmações.

Correções de bugs

  • Impede que as permissões sejam revogadas antes do processamento da inserção de conteúdo do IME (editor de método de entrada, na sigla em inglês).

Atualizações de dependência

Contribuição externa

  • A propagação do atributo android:theme foi corrigida em layouts <include> para dispositivos anteriores ao Lollipop (Simon Berner, Opera).

Versão 1.3.0-beta01

13 de janeiro de 2021

Lançamento de androidx.appcompat:appcompat:1.3.0-beta01 e androidx.appcompat:appcompat-resources:1.3.0-beta01. A versão 1.3.0-beta01 contém estas confirmações.

Novos recursos

  • Drawables de modo de ação no nível do tema foram substituídos por fontes vetoriais. Isso pode causar pequenas mudanças na aparência de ícones individuais (I741a6).

Mudanças na API

  • Integração do arraste e solte (eventos de soltar) no AppCompatEditText com OnReceiveContentListener (Ib26c9, b/175343405).
  • OnReceiveContentListener e APIs relacionadas atualizadas. Consulte as mudanças na biblioteca androidx.core para saber mais detalhes (Ib4616, b/173814913).
  • Widget.RichContentReceiverCompat movido para view.OnReceiveContentListener (Ifdab7, b/173814913).
  • As APIs para fornecer e recuperar o texto inicial correspondente passaram por backport recuadas para EditorInfoCompat. Elas permitem que apps IME (editor de método de entrada, na sigla em inglês) evitem latência IPC adicional (Ie3809).

Versão 1.3.0-alpha02

19 de agosto de 2020

Lançamento de androidx.appcompat:appcompat:1.3.0-alpha02 e androidx.appcompat:appcompat-resources:1.3.0-alpha02. A versão 1.3.0-alpha02 contém estas confirmações.

Correções de bugs

  • Drawables PNG AppCompatRatingBar foram substituídos por fontes vetoriais. Isso pode causar pequenas mudanças na aparência de estrelas individuais. (I6b99d)
  • Atualização do WindowInsetsCompat para APIs do Android 11 (I3df9e).
  • O suporte a RTL foi adicionado a itens de menu com ícones (I2f5c5).

Atualizações de dependência

  • O AppCompat atualizou a dependência do fragmento 1.1.0 para o fragmento 1.3.0-alpha08. É altamente recomendável ler as notas da versão do fragmento 1.2.0 para entender as principais mudanças introduzidas na versão anterior do fragmento.
  • O AppCompat atualizou a dependência da atividade 1.0.0 para a atividade 1.2.0-alpha08. É altamente recomendável ler as notas da versão da atividade 1.1.0 para entender as principais mudanças introduzidas na versão anterior da atividade.
    • AppCompatActivity agora usa a API OnContextAvailableListener introduzida na atividade 1.2.0-alpha08 para configurar o AppCompatDelegate. Todos os listeners adicionados às subclasses da AppCompatActivity serão executados depois desse listener. (I513da)

Versão 1.3.0-alpha01

20 de maio de 2020

Lançamento de androidx.appcompat:appcompat:1.3.0-alpha01 e androidx.appcompat:appcompat-resources:1.3.0-alpha01. A versão 1.3.0-alpha01 contém estas confirmações.

Novos recursos

  • Adicione uma nova regra Lint para sinalizar chamadas para setActionBar em atividades que estendem AppCompatActivity
  • Foi adicionado suporte a ViewTreeLifecycleOwner do Lifecycle 2.3.0-alpha01, ViewTreeViewModelStoreOwner do Lifecycle 2.3.0-alpha03 e ViewTreeSavedStateRegistryOwner do SavedState 1.1.0-alpha01 ao usar uma View dentro da AppCompatActivity (b/151603528, aosp/1300264).
  • Adição da API comum para inserir conteúdo avançado (por exemplo, colar uma imagem). O novo callback fornece uma única API que os apps podem implementar para oferecer suporte às diferentes maneiras de inserir conteúdo avançado. Por enquanto, a API é adicionada apenas a AppCompatEditText e vai ser invocada para os seguintes caminhos de código:
    • colar da área de transferência
    • Inserção de conteúdo do IME (InputConnection.commitContent) (I22bf7).

Correções de bugs

  • Do AppCompat 1.2.0-rc01: o AppCompat não chama mais o onMenuOpened() com um menu null (b/142843126).
  • Resolução correta das cores de link e hint em dispositivos mais antigos quando TextViewCompat.setTextAppearance é chamado com um estilo de aparência de texto que tem listas de estado de cor que se referem a atributos de cor para temas (b/154702995).

Versão 1.2.0

Versão 1.2.0

5 de agosto de 2020

Lançamento de androidx.appcompat:appcompat:1.2.0 e androidx.appcompat:appcompat-resources:1.2.0. A versão 1.2.0 contém estas confirmações.

Principais mudanças desde a versão 1.1.0

  • Correção da compatibilidade com casos de uso de modificação da configuração, incluindo localidades personalizadas e escalas de fonte. Clique aqui para ver um exemplo de como implementar modificações corretamente usando appcompat:1.2.0.
  • O uso de AppCompatDelegate.attachBaseContext() foi descontinuado. Se você está chamando ou modificando esse método, use AppCompatDelegate.attachBaseContext2().
  • O uso de CollapsibleActionView foi descontinuado. Essa interface não é mais necessária, use a interface android.view.CollapsibleActionView fornecida pela plataforma.

Versão 1.2.0-rc02

22 de julho de 2020

Lançamento de androidx.appcompat:appcompat:1.2.0-rc02 e androidx.appcompat:appcompat-resources:1.2.0-rc02. A versão 1.2.0-rc02 contém estas confirmações.

Correções de bugs

  • Correção de um problema relacionado ao modo noturno, em que chamar AppCompatDelegate.setDefaultNightMode usando uma caixa de diálogo falhava ao recriar atividades e aplicar o novo modo (aosp/1348308, b/158923881)

Versão 1.2.0-rc01

14 de maio de 2020

Lançamento de androidx.appcompat:appcompat:1.2.0-rc01 e androidx.appcompat:appcompat-resources:1.2.0-rc01. A versão 1.2.0-rc01 contém estas confirmações.

Mudanças na API

  • AppCompatDelegate.setLocalNightMode foi marcado para exigir a versão 17 ou mais recente do SDK devido a um problema de plataforma com mudanças de configuração entre atividades em SDKs anteriores.

Correções de bugs

  • AppCompatDelegate.setLocalNightMode agora pode ser chamado antes de Activity.attachBaseContext.
  • Correção do consumo do encarte de ActionBarOverlayLayout que estava usando incorretamente as encartes em cache.
  • AppCompat não chama mais onMenuOpened() com um menu null (b/142843126, link em inglês)

Versão 1.2.0-beta01

1º de abril de 2020

Lançamento de androidx.appcompat:appcompat:1.2.0-beta01 e androidx.appcompat:appcompat-resources:1.2.0-beta01. A versão 1.2.0-beta01 contém estas confirmações.

Novos recursos

  • Foram adicionadas as seguintes novas regras de lint que sinalizam usos incorretos de AppCompat nos seguintes cenários:
    • Carregar listas de estados de cor: sugere o uso das APIs ContextCompat e AppCompatResources para compatibilidade com versões anteriores
    • Carregar drawables: sugere o uso das APIs ContextCompat e ResourcesCompat para compatibilidade com versões anteriores
    • Usar listas de estados de cor com o atributo Alfa: sinalizações com o atributo android:alpha ausente que levarão à exibição incorreta em algumas versões da plataforma
    • Tonalizar visualizações de imagem: sinaliza a falta de uso de app:tint, que leva à exibição incorreta em versões mais antigas da plataforma
    • Usar drawables compostos e tonalidade em visualizações de texto: sugere o uso de atributos compatíveis e APIs para compatibilidade com versões anteriores

Correções de bugs

  • Foi corrigido um problema em que ActionBarOverlayLayout (ação de decoração da janela) não estava distribuindo WindowInsets corretamente.
  • Correção de problemas na tonalidade de drawables e na aparência do texto em versões mais antigas da plataforma.
  • Foi corrigido um problema em que androidx.appcompat:appcompat:1.1.0 causava uma falha na WebView quando o usuário tocava nela e a mantinha pressionada (b/141351441).
  • Correções implementadas para problemas com manipulação de contexto base e recuperação de serviços do sistema durante a inicialização da atividade

Versão 1.2.0-alpha03

4 de março de 2020

Lançamento de androidx.appcompat:appcompat:1.2.0-alpha03 e androidx.appcompat:appcompat-resources:1.2.0-alpha03. A versão 1.2.0-alpha03 contém estas confirmações.

Correções de bugs

  • Foi corrigido um problema em que a proteção de status do modo de ação se estendia erroneamente para a barra de navegação e tinha a cor errada (Ia4a09).
  • Foi corrigido um problema em que as atividades interrompidas não eram retomadas na API de nível 23 e anteriores (I45201).

Versão 1.2.0-alpha02

29 de janeiro de 2020

Lançamento de androidx.appcompat:appcompat:1.2.0-alpha02 e androidx.appcompat:appcompat-resources:1.2.0-alpha02. A versão 1.2.0-alpha02 contém estas confirmações.

Correções de bugs

  • Foi corrigido um problema em que o appcompat 1.1.0 fazia com que a WebView falhasse quando o usuário tocava nela e a mantinha pressionada (b/141351441).
  • A tonalidade do drawable na TextView foi corrigida em relação a drawables de composição na API de nível 23 (aosp/1172194).
  • Garantia de que o contexto base seja sempre um wrapper (aosp/1194355).
  • Foram adicionadas algumas melhorias para ser mais inteligente ao modificar a configuração de contexto base (aosp/1204543).
  • O createConfigurationContext() foi desativado para Roboletric (aosp/1186218).

Versão 1.2.0-alpha01

4 de dezembro de 2019

Lançamento de androidx.appcompat:appcompat:1.2.0-alpha01 e androidx.appcompat:appcompat-resources:1.2.0-alpha01. A versão 1.2.0-alpha01 contém estas confirmações.

Correções de bugs

  • As chamadas para PackageManager.getActivityInfo não falham mais no modo restrito e com as verificações de reconhecimento de inicialização ativadas
  • Correções de tonalização de drawables no AppCompatButton
  • Correções de tonalização e aparência do texto em versões mais antigas da plataforma

Versão 1.1.0

Versão 1.1.0

5 de setembro de 2019

Lançamento de androidx.appcompat:appcompat:1.1.0 e androidx.appcompat:appcompat-resources:1.1.0. As confirmações incluídas nessa versão podem ser encontradas neste link.

Mudanças importantes desde a versão 1.0.0

  • Melhorias no modo escuro: MODE_NIGHT_AUTO e a alternação entre claro e escuro com base no horário atual agora foram suspensas. Considere usar uma configuração explícita ou MODE_NIGHT_AUTO_BATTERY.
  • Acivity 1.0: AppCompatActivity agora se estende transitivamente do ComponentActivity de 1.0.0 pelo Fragment 1.1.0. Consulte as notas de versão associadas para ver informações sobre as mudanças em cada biblioteca.
  • Construtor AppCompatActivity LayoutId: subclasses de AppCompatActivity agora podem optar por chamar um construtor em AppCompatActivity que leva um ID R.layout, indicando o layout que será definido como a visualização de conteúdo, em vez de chamar setContentView() em onCreate(). Isso não altera a exigência de que sua subclasse tenha um construtor sem argumento.

Versão 1.1.0-rc01

2 de julho de 2019

Lançamento de androidx.appcompat:appcompat:1.1.0-rc01 e androidx.appcompat:appcompat-resources:1.1.0-rc01. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).

Correções de bugs

  • O recurso DayNight agora respeita configChanges corretamente (aosp/981105).
  • onConfigurationChanged só é chamado em Activities iniciadas (aosp/987483).

Versão 1.1.0-beta01

5 de junho de 2019

Lançamento de androidx.appcompat:appcompat:1.1.0-beta01 e androidx.appcompat:appcompat-resources:1.1.0-beta01. As confirmações incluídas nessa versão podem ser encontradas neste link.

Correções de bugs

  • Limpeza dos receptores em AppCompatDialogs. (aosp/959376).
  • Foi adicionado suporte a buttonGravity=center_vertical na barra de ferramentas (b/130361721).
  • Correção do deslocamento horizontal do ícone de carregamento (b/79477181).

Versão 1.1.0-alpha05

7 de maio de 2019

Lançamento de androidx.appcompat:appcompat:1.1.0-alpha05 e androidx.appcompat:appcompat-resources:1.1.0-alpha05. As confirmações incluídas nessa versão podem ser encontradas neste link.

Novos recursos

Correções de bugs

  • Várias correções no modo DayNight.
  • Invalidação de contorno em qualquer alteração em segundo plano na ActionBar.
  • Correção da rolagem do widget do ícone de carregamento.
  • Corrigidos planos de fundo de janela de conjunto personalizados que estavam sendo modificados no AlertDialog.

Versão 1.1.0-alpha04

3 de abril de 2019

Lançamento de androidx.appcompat:appcompat:1.1.0-alpha04 e androidx.appcompat:appcompat-resources:1.1.0-alpha04. As confirmações incluídas nessa versão podem ser encontradas neste link.

Novos recursos

  • Adicionadanova família ThemeOverlay.AppCompat.DayNight de temas. Esses temas serão usados com o recurso DayNight.

Mudanças na API

  • AppCompatActivity agora contém um segundo construtor que usa um @LayoutRes int, que substitui o comportamento anterior de anotar sua classe AppCompatActivity com @ContentView. Essa abordagem funciona nos módulos do app e da biblioteca (b/128352521).

Correções de bugs

  • As dependências internas são fixadas em versões estáveis sempre que possível.
  • A rolagem de AppCompatSpinner foi corrigida no modo suspenso (b/124274573).
  • applyOverrideConfiguration() só é chamado quando necessário para o DayNight.

Versão 1.1.0-alpha03

13 de março de 2019

Lançamento de androidx.appcompat:appcompat:1.1.0-alpha03 e androidx.appcompat:appcompat-resources:1.1.0-alpha03. Essa é a primeira versão de appcompat-resources. A lista completa de confirmações incluídas nessa versão pode ser encontrada neste link (link em inglês).

Novos recursos

  • A nova biblioteca appcompat-resources contém APIs que permitem que os apps carreguem e tonalizem drawables (inclusive drawables vetoriais) em versões anteriores da plataforma. Essa é a mesma funcionalidade que fazia parte anteriormente do módulo appcompat. No entanto, ela agora está disponível sem a sobrecarga do backport completo do Material Design, que inclui widgets, caixas de diálogo, modo noturno etc.
  • Correções importantes no suporte ao modo DayNight.
  • Nova opção MODE_NIGHT_AUTO_BATTERY para o modo DayNight.
  • Tonalização do Drawable em AppCompatTextView
  • O estouro da Toolbar agora pode ser estilizado com listas de estados de cores com temas.
  • Agora, os ícones de menu podem usar cores que fazem referência a atributos de tema.
  • O novo atributo app:menu pode ser definido em uma Toolbar para disponibilizar o conteúdo do menu no momento da inflação.

Correções de bugs

  • Correção do modo de tonalidade padrão no ImageView, versão 21.
  • Correção da dispensa incorreta do pop-up do ícone de carregamento ao girar o dispositivo.
  • Corrigido DayNight, que não respeitava configChanges no manifesto.
  • Foi corrigido um problema em que a mudança para MODE_NIGHT_FOLLOW_SYSTEM não funcionava (b/111345020).
  • Corrigido WebView, que redefinia recursos do DayNight (b/37124582).

Versão 1.1.0-alpha02

7 de fevereiro de 2019

Lançamento de androidx.appcompat:appcompat 1.1.0-alpha02.

Novos recursos

  • Extração do processamento do drawable específico de recurso para um hook (aosp/870976).
  • As Barras de Ferramentas titleTextColor e subtitleTextColor receberam permissão para usar um ColorStateList, e foram adicionadas sobrecargas ColorStateList dos métodos setTitleTextColor e setSubtitleTextColor (osp/867489).

Correções de bugs

  • Corrigida fontFamily que não funcionava em APIs de níveis anteriores a 24 (aosp/807054).
  • Corrigido bug em que textFontWeight não funcionava quando uma atividade se estendia de AppCompatActivity (aosp/847640).
  • Correção do bug que fazia com que o texto do título no pop-up do widget para o ícone de carregamento (no modo de caixa de diálogo) não usasse a fonte especificada na fontFamily (aosp/789994).
  • Corrigido bug que impedia que os widgets AppCompatCheckBox e AppCompatRadioButton alterassem a tonalidade do plano de fundo (aosp/825160).
  • Corrigido bug em que AppCompat não modificava android: list styles (aosp/862350).

Versão 1.1.0-alpha01

3 de dezembro de 2018

Novos recursos

  • AppCompatTextView agora oferece suporte a drawables compostos app:drawableLeftCompat, app:drawableTopCompat, app:drawableRightCompat, app:drawableBottomCompat, app:drawableStartCompat e app:drawableEndCompat, além de suporte a tipos drawable de versões anteriores, como VectorDrawableCompat.

  • Os drawables padrão de AppCompatCheckBox e AppCompatRadioButton agora animam as mudanças do estado de verificação.

Mudanças na API

  • aosp/740385: ActionBarOverlayLayout agora implementa NestedScrollingParent2 e NestedScrollingParent3, facilitando a funcionalidade mais recente na rolagem aninhada 3. Se o código do desenvolvedor atualmente modificar ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int), ele provavelmente não será mais chamado e ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int, int, int[]) precisará ser modificado.

Versão 1.0.2

Versão 1.0.2

7 de novembro de 2018

Versão de correção de bugs de core-1.0.1 e appcompat-1.0.2.

Correções de bugs

  • Correção do bug em que PrecomputedTextCompat falhava quando usado com AppCompatTextView RTL b/113070424 (link em inglês)

Versão 1.0.0

Versão 1.0.0

7 de novembro de 2018

Novos recursos