Appcompat
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 |
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:
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 (link em inglês) nesta biblioteca antes de criar um novo. Adicione seu voto a um problema existente clicando no botão de estrela.
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 fragmento1.3.0-alpha08
. É altamente recomendável ler as notas da versão do fragmento1.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 atividade1.2.0-alpha08
. É altamente recomendável ler as notas da versão da atividade1.1.0
para entender as principais mudanças introduzidas na versão anterior da atividade.AppCompatActivity
agora usa a APIOnContextAvailableListener
introduzida na atividade1.2.0-alpha08
para configurar oAppCompatDelegate
. Todos os listeners adicionados às subclasses daAppCompatActivity
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 vida2.3.0-alpha01
,ViewTreeViewModelStoreOwner
de Ciclo de vida2.3.0-alpha03
eViewTreeSavedStateRegistryOwner
de SavedState1.1.0-alpha01
ao usar umView
dentro de umAppCompatActivity
. (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)
Correções de bugs
- De AppCompat
1.2.0-rc01
: o AppCompat não chama maisonMenuOpened()
com um menunull
(b/142843126). - 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).
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, useAppCompatDelegate.attachBaseContext2()
.CollapsibleActionView
está obsoleta. Essa interface não é mais necessária, use a interfaceandroid.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 deActivity.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 menunull
(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
eAppCompatResources
para compatibilidade com versões anteriores - Carregar drawables: sugere o uso das APIs
ContextCompat
eResourcesCompat
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
- Carregar listas de estados de cor: sugere o uso das APIs
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). - 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).
- Correção de 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 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).
- Correção da tonalidade do drawable no TextView com relação a drawables compostos na API de nível 23 (aosp/1172194).
- Garantia de que o contexto base seja sempre um wrapper (aosp/1194355).
- Adição de algumas melhorias para ser mais inteligente ao modificar a configuração de contexto base (aosp/1204543).
createConfigurationContext()
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 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 ouMODE_NIGHT_AUTO_BATTERY
. - Acivity 1.0:
AppCompatActivity
agora se estende transitivamente doComponentActivity
de1.0.0
por meio de Fragmento1.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 emAppCompatActivity
que leva um IDR.layout
, indicando o layout que será definido como a visualização de conteúdo, em vez de chamarsetContentView()
emonCreate()
. 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). 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 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). - 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
- setDefaultNightMode() agora recria automaticamente todas as atividades iniciadas.
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). 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). - 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 processamento de drawable específico de recurso em um hook (aosp/870976).
- Permissão para que a Barra de Ferramentas
titleTextColor
esubtitleTextColor
usem umColorStateList
e adição de sobrecargasColorStateList
dos métodossetTitleTextColor
esetSubtitleTextColor
( 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 deAppCompatActivity
(aosp/847640). - 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
eAppCompatRadioButton
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 é compatível com drawables compostos
app:drawableLeftCompat
,app:drawableTopCompat
,app:drawableRightCompat
,app:drawableBottomCompat
,app:drawableStartCompat
eapp:drawableEndCompat
, além de ser compatível com tipos drawable de versões anteriores, comoVectorDrawableCompat
.Os drawables padrão de
AppCompatCheckBox
eAppCompatRadioButton
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 eActionBarOverLayLayout.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 de um bug em que
PrecomputedTextCompat
falhava quando usado com RTLAppCompatTextView
. b/113070424 (link em inglês)
Versão 1.0.0
Versão 1.0.0
7 de novembro de 2018
Novos recursos
AnimatedStateListDrawableCompat
oferece transições animadas entre estados de drawable.