O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Appcompat

Permite o acesso a novas APIs em versões de API anteriores da plataforma, muitas usando o Material Design.
Atualização mais recente Versão estável atual Próximo candidato a lançamento Versão Beta Versão Alfa
19 de agosto de 2020 1.2.0 - - 1.3.0-alpha02

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:

dependencies {
    def appcompat_version = "1.2.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 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 existentes nesta biblioteca antes de criar um novo. Adicione seu voto a um problema existente clicando no botão de estrela.

Criar novo problema (link em inglês)

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

Versão 1.3.0

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 essas 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)
  • Compatibilidade com RTL em 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 essas confirmações (link em inglês).

Novos recursos

  • Adicione uma nova regra Lint para sinalizar chamadas para setActionBar em atividades que estendem AppCompatActivity
  • Compatibilidade adicionada para ViewTreeLifecycleOwner de Ciclo de vida 2.3.0-alpha01, ViewTreeViewModelStoreOwner de Ciclo de vida 2.3.0-alpha03 e ViewTreeSavedStateRegistryOwner de SavedState 1.1.0-alpha01 ao usar um View dentro de um AppCompatActivity. (b/151603528, aosp/1300264, links em inglês)
  • Adicione a 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 compatibilidade com as diferentes maneiras de inserir conteúdo avançado. Por enquanto, a API é adicionada apenas a AppCompatEditText e 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 link em inglês)

Correções de bugs

  • De AppCompat 1.2.0-rc01: o AppCompat não chama mais onMenuOpened() com um menu null. (b/142843126, link em inglês)
  • Resolva corretamente as 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 referem-se a atributos de cor de tema (b/154702995 link em inglês).

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 essas 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.
  • AppCompatDelegate.attachBaseContext() está obsoleto. Se você está chamando ou modificando esse método, use AppCompatDelegate.attachBaseContext2().
  • CollapsibleActionView está obsoleta. 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 essas 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 essas confirmações (link em inglês).

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 essas confirmações (link em inglês).

Novos recursos

  • Adicionadas as seguintes novas regras de lint que sinalizarão usos incorretos de AppCompat nos cenários a seguir:
    • 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 levará à 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

  • Correção de 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.
  • Correção de um problema em que androidx.appcompat:appcompat:1.1.0 faz com que a WebView falhe quando o usuário toca nela e a mantém pressionada (b/141351441, link em inglês).
  • 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 essas confirmações (link em inglês).

Correções de bugs

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

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 essas confirmações (link em inglês).

Correções de bugs

  • Correção de um problema em que o appcompat 1.1.0 faz com que a WebView falhe quando o usuário toca nela e a mantém pressionada (b/141351441, link em inglês)
  • Correção da tonalidade do drawable no TextView com relação aos drawables compostos na API de nível 23 (aosp/1172194, link em inglês).
  • Garantia de que o contexto base seja sempre um wrapper (aosp/1194355, link em inglês)
  • Adição de algumas melhorias para ser mais inteligente ao modificar a configuração de contexto base (aosp/1204543, link em inglês).
  • createConfigurationContext() desativado para Roboletric (aosp/1186218, link em inglês)

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 essas confirmações (link em inglês).

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 aqui (link em inglês).

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 por meio de Fragmento 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

  • DayNight agora respeita configChanges corretamente (aosp/981105, link em inglês)
  • onConfigurationChanged só é chamado em Activities iniciadas (aosp/987483, link em inglês)

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 aqui (link em inglês).

Correções de bugs

  • Limpeza dos receptores em AppCompatDialogs. (aosp/959376)
  • Adição de compatibilidade com buttonGravity=center_vertical na Barra de Ferramentas Google (b/130361721, link em inglês)
  • Corrigido 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 aqui (link em inglês).

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 aqui (link em inglês).

Novos recursos

  • Adicionadanova família ThemeOverlay.AppCompat.DayNight de temas. Esses temas devem ser 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, link em inglês)

Correções de bugs

  • Fixadas dependências internas em versões estáveis sempre que possível.
  • Corrigida rolagem do AppCompatSpinner no modo suspenso. (b/124274573, link em inglês)
  • 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 na compatibilidade com o 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.
  • Corrigida dispensa incorreta do pop-up do ícone de carregamento na rotação do dispositivo.
  • Corrigido DayNight, que não respeitava configChanges no manifesto.
  • Correção para que a mudança para MODE_NIGHT_FOLLOW_SYSTEM voltasse a funcionar b/111345020 (link em inglês).
  • 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ída manipulação de drawable específico de recurso em um hook. (aosp/870976)
  • Permissão para que a Barra de Ferramentas titleTextColor e subtitleTextColor usem um ColorStateList e adição de sobrecargas ColorStateList dos métodos setTitleTextColor e setSubtitleTextColor ( osp/867489 , link em inglês)

Correções de bugs

  • Corrigida fontFamily que não funcionava em APIs de níveis anteriores a 24.(aosp/807054, link em inglês)
  • Corrigido bug em que textFontWeight não funcionava quando uma atividade se estendia de AppCompatActivity (aosp/847640, link em inglês)
  • Corrigido bug que fazia com que o texto do título no pop-up do widget do ícone de carregamento (ao utilizar o 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, link em inglês)
  • 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 é compatível com drawables compostos app:drawableLeftCompat, app:drawableTopCompat, app:drawableRightCompat, app:drawableBottomCompat, app:drawableStartCompat e app:drawableEndCompat, além de ser compatível com 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 RTL AppCompatTextView. b/113070424 (link em inglês)

Versão 1.0.0

Versão 1.0.0

7 de novembro de 2018

Novos recursos