Esta página oferece detalhes sobre as versões anteriores do pacote da Biblioteca de Suporte. Para ver as versões mais recentes da Biblioteca de Suporte, consulte Revisões recentes da Biblioteca de Suporte.
Revisão 26.0.0 Beta 2
Junho de 2017
A 26.0.0-beta2 é uma versão de pré-lançamento. A superfície da API está sujeita a mudanças e não inclui necessariamente recursos ou correções de bugs das versões estáveis mais recentes da Biblioteca de Suporte.
Importante:as Bibliotecas de Suporte agora estão disponíveis no repositório Maven do Google. Não é necessário fazer o download do repositório de suporte do SDK Manager. Para mais informações, consulte Configuração da Biblioteca de Suporte.
Novas APIs
- Nova classe
JobIntentService
, para ajudar os desenvolvedores a agendar tarefas de forma que cumpra os novos limites de execução em segundo plano do Android O.
Diferenças nas APIs
Correções de bugs
- A queda do SDK do Android O causa a perda do itálico em TextViews
- Exceção de ponteiro nulo ao se conectar a MediaBrowserServiceCompat
- O TextInputLayout precisa definir dicas em onProvideAutofillStructure().
- Excedente de pilha ao usar o dimensionamento automático de TextView no Android O
Revisão 26.0.0 Beta 1
Maio de 2017
A 26.0.0-beta1 é uma versão de pré-lançamento. A superfície da API está sujeita a mudanças e não inclui necessariamente recursos ou correções de bugs das versões estáveis mais recentes da Biblioteca de Suporte.
Importante:as Bibliotecas de Suporte agora estão disponíveis no repositório Maven do Google. Não é necessário fazer o download do repositório de suporte do SDK Manager. Para mais informações, consulte Configuração da Biblioteca de Suporte.
Mudanças importantes
FragmentActivity.setSupportMediaController()
eFragmentActivity.getSupportMediaController()
foram removidos. Use os novos métodos estáticosMediaControllerCompat.setMediaController()
eMediaControllerCompat.getMediaController()
.BottomNavigationView
agora chamaonNavigationItemReselected()
quando um item já selecionado é selecionado, em vez deonNavigationItemSelected()
- Todas as instâncias do método
findViewById()
agora retornam<T extends View> T
, em vez deView
. Essa mudança tem as seguintes implicações:- Isso pode fazer com que o código existente agora tenha um tipo de retorno ambíguo,
por exemplo, se houver
someMethod(View)
esomeMethod(TextView)
que usam o resultado de uma chamada parafindViewById()
. - Ao usar a linguagem de origem Java 8, isso exige uma transmissão explícita para
View
quando o tipo de retorno não tem restrições (por exemplo,assertNotNull(findViewById(...)).someViewMethod())
). - As substituições de métodos
findViewById()
não finais (por exemplo,Activity.findViewById()
) precisarão que o tipo de retorno seja atualizado.
- Isso pode fazer com que o código existente agora tenha um tipo de retorno ambíguo,
por exemplo, se houver
Novas APIs
-
FragmentManager
eFragment
têm um métodoisStateSaved()
para permitir a consulta se uma transação será permitida ou não sem a perda de estado. Isso é especialmente útil para verificar ao processar um eventoonClick()
antes de executar qualquer transação. - O movimento de caminho é compatível com
AnimatedVectorDrawableCompat
. O movimento de caminho permite que um animador de objeto mude duas propriedades ao mesmo tempo com base em um caminho. O caminho é especificado comoandroid:pathData
no XML do animador. - Animação baseada
em física:
- Novo
FlingAnimation
que oferece suporte à animação com uma velocidade inicial e desacelera suavemente. - As subclasses de
DynamicAnimation
são compatíveis com a animação de propriedades personalizadas para qualquer objeto. - Tanto
SpringAnimation
quantoFlingAnimation
agora podem animar um valor flutuante sem exigir que umView
ou umObject
seja associado a ele
Para mais informações, consulte as páginas de visualização de Animação de mola e Animação com rolagem.
- Novo
-
Suporte
a fontes em XML:
-
ResourcesCompat.getFont
permite o carregamento de recursos de fonte, incluindo a família de fontes XML, que podem ser usados comTextView.setTypeface()
. - Ao usar o AppCompat, a TextView oferece suporte à especificação de um recurso de fonte ou
de uma família de fontes XML por meio do atributo XML
android:fontFamily
. - Use a família de fontes XML para criar famílias de fontes com variações de estilo e
peso. Se você usar as classes da Biblioteca de Suporte para fazer isso, use os atributos
app:
eandroid:
.
-
- Fontes para
download:
- Novo
FontsContractCompat
, que permite solicitar fontes de um provedor de fontes em vez de agrupá-las no seu app. - As fontes também podem ser solicitadas em XML e usadas em layouts.
- Novo
-
Biblioteca de compatibilidade
com emojis:
-
EmojiCompat
pode processar uma determinadaCharSequence
e adicionarEmojiSpans
. -
EmojiTextView
e outros widgets para mostrar emojis. -
FontRequestEmojiCompatConfig
para solicitar uma fonte de emoji a um provedor de fontes.
-
-
Dimensionamento automático do
TextView:
- Novos métodos em
TextViewCompat
, bem como atributos XML, para controlar o dimensionamento automático emTextView
.
- Novos métodos em
- Controles de reprodução Leanback com suporte à busca:
-
- Novo
PlaybackTransportRowPresenter
que renderiza controles de reprodução com uma barra de busca. - Novo
PlaybackTransportControlGlue
que funciona comPlaybackTransportRowPresenter
e é compatível com a busca. - Nova classe base
PlaybackSeekDataProvider
para o app fornecer miniaturas de busca paraPlaybackTransportControlGlue
.
- Novo
- Armazenamento de dados de preferências:
-
PreferenceDataStore
agora permite que você implemente seu próprio armazenamento de preferências, definido com novos métodos emPreference
ePreferenceManager
.
-
Problemas conhecidos
- A integração da compatibilidade de fontes para download e emojis com o Google Play Services só funciona no Google Play Services v11 ou mais recente, que está disponível no programa Beta do Google Play Services.
Correções de bugs
-
A API
MediaBrowserCompat.search()
não funciona (problema AOSP 262170). -
O
ViewCompat.postInvalidateOnAnimation()
gera uma exceção (problema AOSP 80146). -
onActivityCreated()
é chamado para fragmentos na Activity destruída. -
RecyclerView.isComputingLayout()
precisa retornar verdadeiro durante a pré-busca -
Quando uma transição
Fade
é interrompida e invertida, oView
inicia a animação do início. Correção transferida do framework do Android. -
O
Transition.Fade
ignora o Alfa inicial deView
(problema AOSP 221820).
Revisão 26.0.0 Alfa 1
Março de 2017
A 26.0.0-alpha1 é uma versão de pré-lançamento. A superfície da API está sujeita a mudanças e não inclui necessariamente recursos ou correções de bugs das versões estáveis mais recentes da Biblioteca de Suporte.
Mudanças importantes
Observação: a versão mínima do SDK foi aumentada para 14. Como resultado, várias APIs que existiam apenas para compatibilidade com APIs anteriores à 14 foram descontinuadas. Os clientes dessas APIs precisam migrar para os equivalentes do framework, conforme indicado na página de referência de cada API descontinuada.
- O módulo support-percent foi suspenso. Os clientes desse módulo precisam migrar para o novo widget ConstraintLayout, que é fornecido como um artefato separado no SDK Manager.
- O módulo support-fragment não tem mais uma dependência do módulo support-media-compat.
Novas APIs
Muitas novas classes, métodos e constantes foram adicionados para oferecer compatibilidade com versões anteriores das APIs de plataforma adicionadas na visualização do O.
IME_FLAG_NO_PERSONALIZED_LEARNING
: os IMEs podem detectar sinalizações "sem aprendizado" para apps que têm modo privado, como navegadores. Esse recurso ajuda os IMEs a entender se um app está em modo privado para que possam desativar o aprendizado ou a funcionalidade adaptável enquanto o app estiver nesse modo.
Para ver uma lista completa das mudanças da API entre as versões 25.2.0 e 26.0.0-alpha1, consulte o relatório de diferenças da API da Biblioteca de Suporte.
Correções de bugs
- Em alguns casos, a animação simples
AutoTransition
pode ser interrompida por "pulos" de visualização. (problema AOSP 221816).
Revisão 25.4.0
Junho de 2017
Importante:as Bibliotecas de Suporte agora estão disponíveis no repositório Maven do Google. Não é necessário fazer o download do repositório de suporte do SDK Manager. Para mais informações, consulte Configuração da Biblioteca de Suporte.
Mudanças importantes
-
executePendingTransactions()
,commitNow()
,popBackStackImmediate()
e chamadas de transações semelhantes não são permitidas durante mudanças de estado deFragmentManager
. A execução reentrante de transações não é segura, e oFragmentManager
agora aplica isso durante as mudanças de estado. - Simultaneamente a esta versão da Biblioteca de Suporte, também estamos lançando a
versão 1.0.2 do
multidex. Essa versão inclui as seguintes mudanças importantes:
- Permite a multidexação do APK de instrumentação.
- Suspensão do uso de MultiDexTestRunner. Em vez disso, AndroidJUnitRunner precisa ser usado.
- Fornece melhor proteção contra algum gerenciamento inadequado de extração de arquivos do app.
- Corrige um bug que poderia levar ao abandono de arquivos temporários.
- Proporciona uma instalação mais rápida quando feita em um processo simultâneo.
- Correção de um bug de instalação nas APIs 19 e 20.
APIs novas e modificadas
A transformação e a interpolação de caminho são compatíveis com o AnimatedVectorDrawableCompat
. A transformação
de caminho permite que as formas mudem de um caminho (especificado como
android:valueFrom
) para outro (especificado como
android:valueTo
), a fim de fornecer efeitos visuais
complexos e atraentes. A interpolação de caminho permite que os interpoladores para AnimatedVectorDrawableCompat
sejam especificados
como caminhos (especificados como android:pathData
no XML do
interpolador).
Diferenças nas APIs
Problemas corrigidos
- Exceção de ponteiro nulo ao se conectar a MediaBrowserServiceCompat
- A API MediaBrowserCompat.search() não funciona (problema AOSP 262170).
- Callbacks BrowseFragment onItemClicked corrompidos na versão 25.3.0.
- NullPointerException ao rolar para cima e para baixo no VerticalGridView na versão 25.3.1.
- ClassCastException em SimpleArrayMap.allocArrays()
Revisão 25.3.1
Março de 2017
Problemas corrigidos
SwitchCompat
requer a versão mínima do SDK 14 ou mais recente. (problema AOSP 251302).- A animação baseada em física
updateListener
pula o primeiro frame. - A animação de etiqueta
BottomNavigationView
está corrompida.
Revisão 25.3.0
Março de 2017
Mudanças importantes
Os metadados de versão da Biblioteca de Suporte vão ser adicionados automaticamente a
AndroidManifest.xml
ao criar usando o Gradle, o que simplifica
o rastreamento de versões em builds públicos. Por exemplo:
<meta-data android:name="android.support.VERSION" android:value="25.3.0" />
Suspensões de uso
Alguns métodos e classes foram suspensos nesta versão. Essas APIs descontinuadas serão removidas em uma versão futura, e os desenvolvedores precisarão migrar delas. Para mais informações sobre como migrar de uma API específica, consulte a documentação dela.
ExifInterface
- O método booleano
getLatLong(float[])
foi descontinuado. Em vez disso, use o novo métodogetLatLong()
, que não aceita argumentos e retornadouble[]
. mediacompat
- O
PlaybackStateCompat.Builder.setErrorMessage(CharSequence)
foi suspenso. Em vez disso, use o novo métodosetErrorMessage(int, CharSequence)
, que recebe um código de erro e uma descrição opcional.
O uso de EXTRA_SUGGESTION_KEYWORDS
foi descontinuado. Em vez disso, use a funcionalidade de pesquisaMediaBrowserCompat
.v7.recyclerview
LinearLayoutManager.getInitialItemPrefetchCount()
foi renomeado comoLinearLayoutManager.getInitialPrefetchItemCount()
. O nome antigo ainda é compatível, mas será removido em uma versão futura.
APIs novas e modificadas
appcompat-v7
- O novo método
ActionBarDrawerToggle.setDrawerSlideAnimationEnabled(boolean)
simplifica a desativação da animação do ícone de alternância da gaveta de navegação. customtabs
- Foi adicionada compatibilidade com canais de mensagens. Consulte as referências de
CustomTabsService.requestPostMessageChannel()
eCustomTabsService.postMessage()
para mais detalhes. dynamic-animation
- Nova biblioteca de animação baseada em física que oferece um conjunto de APIs para criar animações que reagem dinamicamente à entrada do usuário.
leanback-v17
- Foi adicionada compatibilidade com planos de fundo com efeito paralaxe. Consulte a referência
Parallax
para mais detalhes. - O widget
TimePicker
foi adicionado para selecionar horários em uma interface de TV. mediacompat
- Uma funcionalidade de pesquisa foi adicionada. Consulte as referências de
MediaBrowserCompat.search()
eMediaBrowserServiceCompat.onSearch()
para mais detalhes. - Adição de suporte aos modos de ordem aleatória e repetição. Consulte as referências de
MediaSessionCompat.setRepeatMode()
esetShuffleModeEnabled()
para mais detalhes.
Problemas corrigidos
- O
StaggeredGridLayoutManager
geraIllegalArgumentException
(problema AOSP 230295). - A pré-busca de
RecyclerView
não processa corretamente umRecyclerView
anexado, mas não na tela. - O
LinearLayout
não é reconhecido pela Robolectric - Quando
Activity
é destruído,onActivityCreated()
é chamado inadequadamente pelos fragmentos - O construtor
AppCompatImageView
causaArrayIndexOutOfBoundsException
- Desempenho insatisfatório da IU na transição da atividade
Call.Details
Revisão 25.2.0
Fevereiro de 2017
Mudanças importantes
Problemas corrigidos
- Esta versão corrige um problema grave do mediarouter em que o uso de um dispositivo A2DP e APIs de roteamento de mídia podia fazer com que o dispositivo pare de responder, exigindo uma reinicialização.
- A classe
FragmentManager.FragmentLifecycleCallbacks
agora é estática.
Problemas corrigidos
- Mostrar uma apresentação de slides com espelhamento de tela faz com que o dispositivo se desconecte do Wi-Fi
- O botão de mídia não processava corretamente os apps de música que não se
registraram com
setMediaButtonReceiver()
-
Erro
VectorDrawable
com recurso de string (problema AOSP 232407). - O
TextInputLayout
sobrepõe a dica e o texto se o texto for definido por XML (problema AOSP 230171). - Vazamento de memória em
MediaControllerCompat
(problema AOSP 231441). -
RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback()
com falha - O
RecyclerView
falha ao reciclar proprietários de visualizações (problema AOSP 225762). getAllowGeneratedReplies()
retorna falso incorretamente para ações dentro de umaWearableExtender
Revisão 25.1.1
Janeiro de 2017
Importante:há um bug conhecido na classe android.support.v7.media.MediaRouter
nas revisões 25.1.1 e 25.1.0 da Biblioteca de Suporte. Se o app usa
a MediaRouter
v7,
atualize para a Revisão 25.2.0 da Biblioteca de Suporte,
que corrige esse bug.
Mudanças importantes
-
Transações de fragmentos agora podem ser otimizadas dentro e entre transações. A otimização de operações de transação de fragmento pode eliminar operações canceladas. Por exemplo, suponha que duas transações sejam executadas juntas, uma que adicione um fragmento A e uma segunda que substitua o fragmento A pelo B. Nesse caso, a primeira operação pode ser cancelada, e apenas o fragmento B pode ser adicionado. Isso significa que o fragmento A pode não passar pelo ciclo de vida de criação/destruição.
Um efeito colateral dessa otimização é que os fragmentos podem ter mudanças de estado fora da ordem esperada. Por exemplo, suponha que uma transação adicione o fragmento A, uma segunda adicione o fragmento B e uma terceira remova o fragmento A. Sem a otimização, o fragmento B poderia esperar que, enquanto estiver sendo criado, o fragmento A também existirá, porque o fragmento A será removido depois da adição do fragmento B. Com a otimização, o fragmento B não pode ter certeza de que ele existe enquanto ele está sendo criado, porque a criação e a destruição dele podem ser removidas pela otimização.
Essa otimização fica desativada por padrão. Para ativar a otimização, chame
FragmentTransaction.setAllowOptimization(true)
. - Agora, os fragmentos podem adiar as transições e animações até que estejam prontos usando
Fragment.postponeEnterTransition()
eFragment.startPostponedEnterTransition()
Essa API é semelhante aActivity.postponeEnterTransition()
eActivity.startPostponedEnterTransition()
, usados com transições de atividade.
Problemas corrigidos
-
MediaSessionCompatTest
falha comIllegalArgumentException
. -
DetailsFragment.installTitleView()
não é chamado na versão 25.1.0. - A transação de fragmento mantém a visualização fantasma na saída (problema AOSP 230679).
-
O
BottomNavigationView
precisa de espaçamento entre o ícone e o texto do item (problema AOSP 230653). - Alguns listeners estão ausentes nos novos
PlaybackFragment
ePlaybackSupportFragment
-
O foco em
TextInputLayout
não muda corretamente no emulador da versão 25.1.0 da Biblioteca de Suporte (problema AOSP 230461). - Não é possível substituir o menu de um
BottomNavigationView
(problema AOSP 230343). -
O
RecyclerView
comStaggeredGridLayoutManager
falha com itens de abrangência completa (problema AOSP 230295). - Falha em
MediaSessionCompat
ao usarsetCallback(null)
. -
PlaybackGlueHostOld
ePlaybackSupportGlueHostOld
não notificam callbacks quando a linha de reprodução muda. -
Não é possível iniciar a reprodução do exemplo
PlaybackOverlayFragment
/test
-
RecyclerViewFocusRecoveryTest
está falhando na API 15. - A linha "Capturas de tela" está focada na parte superior da tela
-
O
RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback()
falha na API 15. -
O
setActions()
emonSubactionClicked()
está corrompido -
O
RecyclerView
falha ao reciclar alguns detentores de visualização.
Revisão 25.1.0
Dezembro de 2016
Importante:há um bug conhecido na classe android.support.v7.media.MediaRouter
nas revisões 25.1.1 e 25.1.0 da Biblioteca de Suporte. Se o app usa
a MediaRouter
v7,
atualize para a Revisão 25.2.0 da Biblioteca de Suporte,
que corrige esse bug.
Mudanças importantes
- Os clientes de widgets
RecyclerView
aninhados (por exemplo, lista de rolagem vertical de listas de rolagem horizontal) podem ter benefícios significativos de desempenho, sugerindo aos gerenciadores de layout dos widgetsRecyclerView
internos quantos itens precisam ser preparados antes de serem rolados na tela. ChameLinearLayoutManager.setInitialPrefetchItemCount(N)
, em que N é o número de visualizações visíveis por item interno. Por exemplo, se suas listas horizontais internas mostram um mínimo de três visualizações e meia de itens por vez, é possível melhorar o desempenho chamandoLinearLayoutManager.setInitialPrefetchItemCount(4)
. Isso permite que oRecyclerView
crie todas as visualizações relevantes antecipadamente, enquanto oRecyclerView
externo está rolando, o que reduz significativamente a quantidade de renderização lenta durante as rolagens. FragmentActivity.setSupportMediaController()
eFragmentActivity.getSupportMediaController()
foram descontinuados. Use os novos métodos estáticosMediaControllerCompat.setMediaController()
eMediaControllerCompat.getMediaController()
.- Quando um cliente especifica a tonalidade de um widget usando a tonalidade da appcompat (por exemplo,
appcompat:buttonTint
), o cliente é responsável por fornecer todos os estados necessários (como "desativado", "pressionado" etc.). Isso é consistente com a maneira como as tonalidades de widgets são especificadas ao usar a tonalidade de framework.
APIs novas e modificadas
- Foi adicionada a Biblioteca de Suporte ExifInterface. Essa biblioteca desagrupa a compatibilidade com a leitura de informações Exif de arquivos JPEG e brutos formatados e a configuração das informações Exif em arquivos de imagem JPEG.
- O
Snackbar
foi refatorado para permitir que os apps exibam conteúdo personalizado.BaseTransientBottomBar
é a nova classe de base que expõe o comportamento geral de deslizar e de animações. - Foi adicionado um novo pacote leanback.media, que contém classes auxiliares para integrar players de mídia em aplicativos do Android TV.
- Foi adicionado um
SeekBarPreference
com layout e atributos personalizáveis à Biblioteca de Suporte de preferências v7. - A classe
ArraySet
foi adicionada à Biblioteca de Suporte v4. Essa classe corresponde à classeArraySet
do framework que foi introduzida na API de nível 23. - Melhorias na pré-busca de itens
RecyclerView
:- A pré-busca de
RecyclerView
aninhada permite a pré-busca de conteúdo de umRecyclerView
em outroRecyclerView
com rolagem, com uma API para controlar a quantidade de pré-busca feita: - Foram adicionadas APIs para objetos
LayoutManager
personalizados a serem implementados para permitir a pré-busca durante rolagens e deslizes rápidos - Melhorias na pré-busca para fazer o máximo possível de trabalho de criação/vinculação no tempo entre os frames
- A pré-busca de
Problemas corrigidos
- A alternância de visibilidade de senhas apresenta falha nos testes de acessibilidade.
- O Appcompat não respeita
state_enabled
em dispositivos anteriores ao Android L. - Foi adicionado um mecanismo de recuperação de foco a
RecyclerView
. Isso também corrigiu o foco corrompido dos fragmentos de preferências de suporte ao usar a navegação do DPAD, como em dispositivos Android TV. - Leanback: o BrowseFragment apresenta falhas com cabeçalhos desativados e adaptador vazio.
- Appcompat: o
AlertDialog
é muito amplo. - O
InputContentInfoCompat
chama orequestPermission()
, quando precisa chamar oreleasePermission()
. - o
MediaBrowserCompat
apresenta falhas. - O CoordinatorLayout mede/define visualizações quando a visibilidade é definida como
GONE
. - Não foi possível tonalizar
AnimatedVectorDrawableCompat
em APIs de nível inferior a 24 - A biblioteca do Leanback aciona erros de lint falsos
- A biblioteca de paletas causava falhas de teste em todos os níveis de API.
RecyclerView
testes reprovados no Leanback- O
RecyclerView
falha ao reciclar proprietários de visualizações (problema AOSP 225762). Fragment.onDestroy()
não é chamado para o fragmento na pilha de retorno.- O scrim
CollapsingToolbarLayout
não é desenhado quando recolhido CoordinatorLayout.offsetChildByInset()
geraIllegalArgumentException
- Animar itens
RecyclerView
removemRecyclerView
s internos, evitando pré-buscas futuras - Os itens
RecyclerView
anexados não podem passar por pré-busca aninhada - Os dados de pré-busca para itens
RecyclerView
aninhados são descartados durante o primeiro layout - A pré-busca de
RecyclerView
falha se dois eventos de arrastar chegam na mesma posição. - O
RecyclerView
deve definir o layout de forma especulativa enquanto o RenderThread está renderizando - Os recursos de cores configurados para o modo noturno convertidos em drawables nem sempre são limpos corretamente do cache de recursos
FloatingActionButton
: a configuração programática de BackgroundTintList não funciona corretamente (problema AOSP 227428).TextInputLayout
: a fonte não está sendo definida para ErrorView (problema AOSP 227803).TextInputLayout
sempre volta à cor clara de erro em APIs de níveis anteriores a 23 (problema AOSP 221992).FloatingActionButton
aparece como pressionado quando o ponteiro sai.
Uma lista completa de correções de bugs públicas está disponível no Issue Tracker do AOSP.
Suspensões de uso
Alguns métodos e classes foram suspensos nesta versão. Essas APIs descontinuadas serão removidas em uma versão futura, e os desenvolvedores precisarão migrar para elas. Para mais informações sobre como migrar de uma API específica, consulte a documentação dela.
-
android.support.design.widget
-
android.support.v17.leanback.app
BackgroundManager.getDefaultDimLayer()
BackgroundManager.getDimLayer()
BackgroundManager.setDimLayer()
MediaControllerGlue.MediaControllerGlue(Context,PlaybackOverlayFragment,int[])
MediaControllerGlue.MediaControllerGlue(Context,PlaybackOverlayFragment,int[],int[])
PlaybackControlGlue.PlaybackControlGlue(Context,PlaybackOverlayFragment,int[])
PlaybackControlGlue.PlaybackControlGlue(Context,PlaybackOverlayFragment,int[],int[])
PlaybackControlGlue.getFragment()
PlaybackControlGlue.getOnItemViewClickedListener()
PlaybackControlGlue.onRowChanged()
PlaybackControlGlue.pausePlayback()
PlaybackControlGlue.skipToNext()
PlaybackControlGlue.skipToPrevious()
PlaybackControlGlue.startPlayback()
PlaybackControlSupportGlue
PlaybackOverlayFragment
PlaybackOverlaySupportFragment
-
android.support.v17.leanback.widget
-
android.support.v4.app
FragmentActivity.getSupportMediaController()
FragmentActivity.setSupportMediaController()
Revisão 25.0.1
Novembro de 2016
Problemas corrigidos
- A alternância de senhas
TextInputLayout
agora fica desativada por padrão para evitar a substituição desnecessária de drawables finais especificados pelo desenvolvedor. Ela pode ser ativada manualmente pelo atributo XMLpasswordToggleEnabled
. - Os itens
BottomNavigationView
agora são uma única linha para corresponder às especificações do Material Design. RecyclerView
falha durante a pré-busca se o gerenciador de layout é nulo.- A elevação
BottomNavigationView
agora está definida corretamente (problema AOSP 226182). - O
BottomNavigationView
falha ao adicionar itens de menu de forma programática (problema AOSP 225731). - Correção em drawables compostos
TextInputLayout
de esquerda+direita. (problema AOSP 225836). - O
RecyclerView
falha ao reciclar proprietários de visualizações. (problema AOSP 225762). - Leanback: o TalkBack diz frequentemente a palavra "nulo" em visualizações de tela dividida.
RecyclerView
: problemas de renderização no Android Studio. (problema AOSP 225753)BottomNavigationView
ainda mostra o item de menu como selecionado depois queonNavigationItemSelected()
retorna "false". (problema AOSP 225898)- O ForwardingListener gera
NoSuchMethodError
(problema AOSP 225647). TextInputEditText
não mostra dicas no modo de extração do IME (problema AOSP 221880).
Uma lista completa de correções de bugs públicas está disponível no Issue Tracker do AOSP.
Revisão 25.0.0
Outubro de 2016
Mudanças importantes
- O construtor
ContextCompat
foi transformado em protegido. Essa classe não pode ser instanciada publicamente, mas pode ser estendida por bibliotecas de suporte voltadas a níveis de API mais recentes. - O construtor
ActivityCompat
foi transformado em protegido. Essa classe não pode ser instanciada publicamente, mas pode ser estendida por bibliotecas de suporte voltadas a níveis de API mais recentes. getReferrer(Activity)
agora é estático.-
O
android.support.design.widget.CoordinatorLayout.Behavior.isDirty(CoordinatorLayout, V)
foi removido. Todas as implementações de cliente desse método precisam ser removidas. -
O
android.support.v4.media.session.MediaSessionCompat.obtain(Context, Object)
foi removido. Os usos precisam ser substituídos pelo métodofromMediaSession()
com nome mais adequado. -
android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain(Object)
foi removido. Os usos precisam ser substituídos pelo métodoMediaSessionCompat.QueueItem#fromQueueItem
com nome mais adequado. -
O
android.support.v7.widget.Space
foi removido. Os usos precisam ser substituídos porandroid.support.v4.widget.Space
.
Novas APIs
-
A classe
android.support.design.widget.BottomNavigationView
implementa o padrão de navegação na parte de baixo da especificação do Material Design. - O novo pacote
android.support.v13.view.inputmethod
inclui classes para acessar os recursos doandroid.view.inputmethod.InputConnection
introduzidos após o nível 13 da API. -
A classe
android.v7.widget.RecyclerView.DividerItemDecoration
fornece uma implementação básica para divisores verticais ou horizontais entre itens. - Foram adicionados novos estilos decorados a
android.support.v7.app.NotificationCompat
,DecoratedCustomViewStyle
eDecoratedMediaCustomViewStyle
, além de classes espelhadas na API de nível 24 da plataforma.
Problemas corrigidos
Uma lista completa de correções de bugs públicas está disponível no Issue Tracker do AOSP.
Revisão 24.2.1
Setembro de 2016
Problemas corrigidos:
FloatingActionButton
não pode mais ser ancorado em filhos indiretos deCoordinatorLayout
(problema AOSP 220250).- A imagem dentro de
CollapsingToolbarLayout
não é dimensionada corretamente comfitsSystemWindows=true
(problema AOSP 220389). - O
CoordinatorLayout
geraIndexOutOfBoundsException
quandoSnackbar
é mostrado e dispensado (problema AOSP 220762). TextInputLayout
não resolve a cor do texto do erro. (problema AOSP 220305).- O
BatchedCallback.onMoved()
chama oBatchedCallback.onInserted()
(problema AOSP 220309). TextInputLayout
substitui o drawable composto direito. (problema AOSP 220728).
Uma lista completa de correções de bugs públicas está disponível no Issue Tracker do AOSP.
Revisão 24.2.0
Agosto de 2016
A versão 24.2.0 contém as seguintes mudanças:
- Divisão da Biblioteca de Suporte v4
- Atualizações da API
- Mudanças de comportamento
- Suspensões de uso
- Correções de bugs
Observação:a versão 24.2.0 remove o suporte ao Android 2.2 (API de nível 8) e versões anteriores. As classes e os métodos que existem apenas para disponibilizar essas versões do sistema agora são marcados como descontinuados e não podem mais ser usados. Essas classes e métodos descontinuados podem ser removidos em uma versão futura.
Divisão da Biblioteca de Suporte v4
Com esta versão, a Biblioteca de Suporte v4 foi dividida em vários módulos menores:
-
support-compat
-
Oferece wrappers de compatibilidade para as novas APIs do framework, como
Context.getDrawable()
eView.performAccessibilityAction()
. -
support-core-utils
-
Oferece várias classes de utilitários, como
AsyncTaskLoader
ePermissionChecker
. -
support-core-ui
-
Implementa vários componentes relacionados à IU, como
ViewPager
,NestedScrollView
eExploreByTouchHelper
. -
support-media-compat
-
Oferece backport a partes do framework de mídia, incluindo
MediaBrowser
eMediaSession
. -
support-fragment
-
Oferece backport do framework de
fragmento. Esse módulo tem dependências de
support-compat
,support-core-utils
,support-core-ui
esupport-media-compat
.
Para compatibilidade com versões anteriores, se você listar support-v4
no
script do Gradle, o APK vai incluir todos esses módulos. No entanto, para reduzir
o tamanho do APK, recomendamos que você liste apenas os módulos específicos necessários para o app.
Atualizações da API
- Clientes que usam guias personalizadas podem
controlar se os Instant Apps serão abertos. Os Instant Apps ainda não estão disponíveis para o público geral. Para ativar ou desativar os Instant Apps, chame
CustomTabsIntent.Builder.setInstantAppsEnabled()
ou especifiqueEXTRA_ENABLE_INSTANT_APPS
. Por padrão, as guias personalizadas ativarão os Instant Apps quando esse recurso estiver disponível. TextInputLayout
adiciona suporte à alternância de visibilidade de senha da especificação do Material Design.- O novo pacote
android.support.transition
oferece backport do framework Transitions para os níveis de API 14 e mais recentes. Para mais informações, consulte a referência deandroid.support.transition
. - A Biblioteca de Suporte de guias personalizadas
adiciona compatibilidade com o uso de
RemoteViews
na barra de ferramentas secundária. O uso do métodosetToolbarItem()
atual foi descontinuado. AppCompatResources
adiciona a capacidade de carregar uma<vector>
(na API de nível 9 e mais recentes) ou uma<animated-vector>
(na API de nível 11 e mais recentes) de um ID de recurso, usando o novo métodogetDrawable()
.CoordinatorLayout
agora é compatível com a definição de visualizações inseridas e a especificação de que outras visualizações precisam evitar as visualizações inseridas Isso permite que os apps repliquem padrões de comportamento semelhantes à maneira comoFloatingActionButton
sai do caminho de umSnackbar
, mas para todos os filhos de visualização arbitrária. Para mais informações, consulte a documentação de referência doLayoutParams.insetEdge
eLayoutParams.dodgeInsetEdges
.- A nova classe
DiffUtil
calcula a diferença entre duas coleções e envia uma lista de operações de atualização adequadas para consumo por umRecyclerView.Adapter
. -
RecyclerView.OnFlingListener
foi adicionado para oferecer suporte a comportamentos personalizados em resposta a gestos de rolagem rápida. A classeSnapHelper
oferece uma implementação especificamente para ajustar visualizações filhas, e a classeLinearSnapHelper
estende essa implementação para fornecer um comportamento de ajuste alinhado ao centro semelhante aViewPager
. - A biblioteca de guias personalizadas agora permite que os clientes solicitem a interface do navegador padrão, em vez da interface de guias personalizadas, chamando
CustomTabsIntent.setAlwaysUseBrowserUI()
. Esse comportamento é útil nos casos em que o navegador usa a interface de guias personalizadas como padrão, mas o usuário expressou preferência pela interface de navegador padrão.
Mudanças de comportamento
- Se você usar a funcionalidade dia/noite da biblioteca appcompat, o sistema
agora recria automaticamente a atividade sempre que o modo dia/noite mudar
(devido ao horário do dia ou a uma chamada para
AppCompatDelegate.setLocalNightMode()
). - O
Snackbar
agora aparece atrás da barra de navegação se a barra de status for translúcida
Biblioteca MediaRouter
Os dispositivos Bluetooth não são mais listados como roteamentos de mídia. O roteamento de áudio para dispositivos Bluetooth agora é controlado apenas no nível do sistema Android.
Suspensões de uso
Os métodos e classes obsoletos estão sujeitos a remoção em uma versão futura. É necessário migrar dessas APIs o mais rápido possível.
- Vários métodos nas classes a seguir eram necessários apenas para a API 8 e
anteriores e não podem mais ser usados. Em vez disso, use as implementações
do framework.
android.support.v4.view.KeyEventCompat
: substituir porKeyEvent
android.support.v4.view.MotionEventCompat
: useMotionEvent
.android.support.v4.view.ViewCompat
: useView
.android.support.v4.view.ViewConfigurationCompat
: useViewConfiguration
.
-
O uso de
AccessibilityServiceInfoCompat.getDescription()
foi descontinuado e substituído porAccessibilityServiceInfoCompat.loadDescription()
, que retorna uma descrição localizada corretamente. - Não instancie a classe
ActivityCompat
diretamente. O métodogetReferrer(Activity)
não estático se tornará estático em uma versão futura. CoordinatorLayout.Behavior.isDirty()
foi descontinuado e não é mais chamado porCoordinatorLayout
. Todas as implementações, bem como todas as chamadas para esse método, precisam ser removidas.- O uso de
MediaSessionCompat.obtain()
foi descontinuado e substituído pelo métodofromMediaSession()
, com nome mais adequado. - O uso de
MediaSessionCompat.QueueItem.obtain()
foi descontinuado e substituído pelo métodofromQueueItem()
, que tem um nome mais adequado. - Várias classes abstratas foram descontinuadas e substituídas por
interfaces que refletem melhor as equivalentes do framework.
- O
AccessibilityStateChangeListenerCompat
foi substituído pela interfaceAccessibilityManagerCompat.AccessibilityStateChangeListener
. - O
OnCloseListenerCompat
foi substituído pela interfaceSearchViewCompat.OnCloseListener
. - O
OnQueryTextListenerCompat
foi substituído pela interfaceSearchViewCompat.OnQueryTextListener
.
- O
CustomTabsSession.setToolbarItem()
foi descontinuado e substituído pelosetSecondaryToolbarViews()
baseado em RemoteViews.
Correções de bugs
Os seguintes problemas conhecidos foram corrigidos na versão 24.2.0:
- O indicador
SwipeRefreshLayout
é mostrado quandosetRefreshing(true)
é chamado antes da primeira transmissão de medição (problema AOSP 77712). - Impedimento de que o
TabLayout
pisque ao mudar de página (problema AOSP 180454). ClassNotFoundException
foi evitado ao desfazer a marcação deSavedState
na API de nível 11 e anteriores (problema AOSP 196430).
Uma lista completa de correções de bugs públicas está disponível no Issue Tracker do AOSP.
Revisão 24.1.1
Julho de 2016
Problemas corrigidos:
- Correção de um problema na versão 24.1.0 que afetava os IDs de recursos compartilhados entre as Bibliotecas de Suporte. Esse problema fazia com que apps que dependiam de bibliotecas de suporte com recursos (como design e appcompat) encontrassem problemas causados por incompatibilidades de IDs de recursos.
Revisão 24.1.0
Julho de 2016
- Mudanças na Biblioteca de Suporte v4:
-
- O
NotificationCompat.Action.WearableExtender
tem novos métodosgetHintDisplayActionInline()
esetHintDisplayActionInline()
para compatibilidade com a versão de pré-lançamento do Android Wear 2.0. Esses métodos permitem que um aplicativo especifique que uma ação precisa ser mostrada inline com a notificação. - Chamar
Fragment.setUserVisbileHint()
não fará mais com que um fragmento seja iniciado se a dica tiver sido adicionada a umFragmentTransaction
que ainda não foi confirmado Isso afeta usuários deFragmentPagerAdapter
que substituemsetUserVisbileHint()
e presumem um estado de ciclo de vida específico do fragmento depois de chamarsuper.setUserVisibleHint()
. Para saber mais, consulte a página de referência de documentos paraFragment.setUserVisbileHint()
.
- O
Problemas corrigidos:
- TabLayout.setCustomView(null) resulta em NullPointerException (problema AOSP 214753).
- O TabLayout destaca incorretamente as guias personalizadas (problema AOSP 214316).
- AppCompatTextHelper usa incorretamente a matriz de atributo ordenada (problema AOSP 214366).
- Não é possível referenciar o VectorDrawable do XML do contêiner de drawable ao usar um ContextWrapper personalizado (problema AOSP 214055).
- ViewDragHelper.saveLastMotion() gera ArrayIndexOutOfBoundsException (problema AOSP 212945).
- BottomSheetBehavior expande para a altura do conteúdo antigo ao usar setState(STATE_EXPANDED) (problema AOSP 213660).
- CollapsingToolbarLayout não processa filhos fixáveis com margens superiores ou inferiores (problema AOSP 213001).
- O título de navegação Leanback não é compatível com o alinhamento de RTL (problema AOSP 213461).
- O PagerTabStrip desaparece devido à ausência de anotação herdada (problema AOSP 213359).
- A vinculação de dados gera NullPointerException ao usar um booleano para definir sinalizações condicionais (problema AOSP 191841).
- O CoordinatorLayout não responde a setFitsSystemWindows() (problema AOSP 212720).
- BottomSheetBehavior falha ao definir o estado inicial (problema AOSP 203114).
- O ViewPager pula páginas se o índice de páginas for um valor grande (problema AOSP 211734).
- BottomSheetBehavior não funciona com layouts dinâmicos (problema AOSP 205226).
Revisão 24.0.0
Junho de 2016
- Mudanças na Biblioteca de Suporte v4:
-
- Inclusão de
Fragment.commitNow()
para confirmação síncrona. - Acréscimo de
NotificationCompat.MessagingStyle
para conversas entre várias partes. NotificationManagerCompat.areNotificationsEnabled()
egetImportance()
foram adicionados- O
MediaSessionCompat
agora espelha a funcionalidade doMediaSession
e não chama mais osetMediaButtonReceiver()
automaticamente.
Observação:apenas o
MediaBrowserServiceCompat
na versão 24.0.0 é compatível com versões futuras do Android após o 24 da API. Se você estiver usando versões anteriores, atualize para esta versão para garantir a compatibilidade. - Inclusão de
- Mudanças na Biblioteca appcompat v7:
-
- Foi adicionado suporte para referenciar objetos
ColorStateList
com tema a partir do XML.
- Foi adicionado suporte para referenciar objetos
- Mudanças na Biblioteca de Suporte de Design:
-
- Melhorias no processamento de elevação pelo
AppBarLayout
usandoStateListAnimator
.
- Melhorias no processamento de elevação pelo
- Mudanças na Biblioteca Leanback v17:
-
- Acréscimo de
OnboardingFragment
para dar as boas-vindas à primeira execução e oferecer o fluxo de configuração.
- Acréscimo de
- Mudanças nas guias personalizadas:
-
- Foi adicionado suporte para fornecer uma hierarquia de
RemoteViews
para a barra de ferramentas secundária. - Adição de
CustomTabsClient.connectAndInitialize()
para aquecimento de uma linha.
- Foi adicionado suporte para fornecer uma hierarquia de
Revisão 23.4.0
Maio de 2016
- Mudanças na Biblioteca de Suporte v4:
-
- Correção de um problema em que fragmentos eram adicionados na ordem errada (problema 206901).
- Correção do problema em que a barra de apps não era desenhada ao ser rolada para fora da tela. (problema 178037).
- Mudanças na Biblioteca appcompat v7:
-
- O método
AppCompatDelegate.setCompatVectorFromResourcesEnabled()
foi adicionado para reativar o uso de drawables vetoriais em objetosDrawableContainer
em dispositivos com Android 4.4 (API de nível 19) e versões anteriores. Consulte AppCompat v23.2: idade dos vetores (link em inglês) para saber mais. - Correção de um problema na API 23 em que
AppCompatDelegate.setDefaultNightMode()
não carregava os recursos corretos na API de nível 23. (problema 206573). - Correção de um problema que poderia causar
NullPointerException
(problema 207638).
- O método
- Mudanças na Biblioteca de Suporte de Design:
-
- Foi corrigido um problema em que
TextInputLayout
não apagava a tonalidade do erro apóssetErrorEnabled(false)
nos níveis 21 e 22 da API (problema 202829). - Correção de um problema em que
FloatingActionButton
não retornava quando as animações eram desativadas (problema 206416). - Foi corrigido um problema na funcionalidade de ajuste do
AppBarLayout
quando usada com sinalizações de rolagem
. (problema 207398).scroll
|enterAlways
|enterAlwaysCollapsed
|snap
- Foi corrigido um problema em que
- Mudanças na biblioteca Vector Drawable:
-
- Correção de um bug em que
VectorDrawableCompat
não era renderizado corretamente emTextView
na API de nível 23. (problema 206227).
- Correção de um bug em que
Revisão 23.3.0
Abril de 2016
- Mudanças na Biblioteca de Suporte v4:
-
- Inclusão de
AppLaunchChecker
para ajudar a acompanhar como seu app foi iniciado pelo usuário no passado.hasStartedFromLauncher()
informa se o usuário já iniciou o app na tela inicial ou se ele foi iniciado por outros meios (por exemplo, para visualizar URLs específicos da Web). - Correção de um vazamento de memória em
MediaBrowserServiceCompat.mConnections
(problema 205220). - Correção do problema em que
ViewPager
não contabilizava as margens ao virar a página. (problema 203816). - O
Fragment.onRequestPermissionsResult()
agora é entregue aos fragmentos filhos
- Inclusão de
- Mudanças na Biblioteca appcompat v7:
-
- Correção de um problema em
AppCompatSpinner
que poderia fazer com que vários pop-ups fossem exibidos (problema 205052). - Correção de um problema no modo como os botões sem borda eram coloridos (problema 202967).
- Correção de um problema de compatibilidade entre
AppCompatDialogFragment
eAlertDialog
(problema 204805). - As mudanças para
TintResources
que estavam causando problemas de memória e configuração foram revertidas. (problema 205236).
- Correção de um problema em
- Mudanças na Biblioteca mediarouter v7:
-
- Correção do comportamento do controle deslizante de volume de
MediaRouteControllerDialog
. (problema 202299).
- Correção do comportamento do controle deslizante de volume de
- Mudanças na Biblioteca de preferências v7:
-
- Correção do problema em que
PreferenceFragmentCompat
falhava sedividerHeight
fosse especificado. (problema 204778).
- Correção do problema em que
- Mudanças na Biblioteca recyclerview v7:
-
- Correção de um bug em que o
RecyclerView
não invocava callbacks de rolagem se o intervalo de itens visíveis diminuísse (problema 200987). - Correção de um bug em que o
RecyclerView
congelava se estivesse em layout linear, fosse ponderado e contivesse imagens. (problema 203276). - Correção de uma falha em
OrientationHelper.getStartAfterPadding()
(problema 180521). - Correção de uma falha no uso de
android:nestedScrollingEnabled
(problema 197932).
- Correção de um bug em que o
- Mudanças na Biblioteca de Suporte de Design:
-
- Correção de um bug em que uma página inferior oculta processava eventos de toque (problema 203654).
- Correção de um problema de layout com
BottomSheetBehavior
quandofitsSystemWindows
é verdadeiro (problema 203057). - Correção de um problema de acessibilidade com o
Snackbar
(problema 182145). - Correção de uma falha ao deslizar
Snackbar
(problema 203924). - Correção de um bug em
AppBarLayout
comenterAlways
(problema 203661). - Correção de um bug em que o
TextInputLayout
limpa desnecessariamente o filtro de cor do plano de fundo do objetoEditText
(problema 203357).
Revisão 23.2.1
Março de 2016
- Mudanças na Biblioteca de Suporte v4:
-
- Foi corrigida uma exceção em
DrawableCompat.wrap()
eLayerDrawable
nos níveis de API 17 a 19. (problema 201817). - Correção de uma
ArrayIndexOutOfBoundsException
noViewDragHelper.shouldInterceptTouchEvent()
(problema 182262). - Correção de um bug em
ViewPager
relacionado ao cálculo de rolagem para mudanças de tamanho. - Correção de uma
NullPointerException
quandoDrawerLayout.removeDrawerListener()
é chamado sem umDrawerLayout.DrawerListener
configurado (problema 202478). - Correção de um bug em que o
ViewPager
não define parâmetrosAccessibilityEvent
corretamente ao rolar. - Correção de um problema que causava atraso durante a rotação do dispositivo ao usar
Drawable.wrap()
(problema 201924).
- Foi corrigida uma exceção em
- Mudanças na Biblioteca appcompat v7:
-
- A dependência nos recursos vetoriais foi revertida para que os desenvolvedores que usam a
biblioteca
appcompat não sejam forçados a usar
VectorDrawable
e as sinalizações de build associadas. - Correção de um problema de compatibilidade com o "modo noturno" e o nível 23 da API (problema 201910).
- Correção de um problema de compatibilidade com o
SwitchCompat
e o nível 7 da API(. (problema 201942). - Correção de um problema com a propagação de valores de configuração em objetos Recursos Problema 201928
- Correção de um problema de compatibilidade em que o botão de cancelamento
android.support.v7.app.NotificationCompat.MediaStyle
ficava invisível na API de nível 21 e anteriores. (problema 37095756). - Correção de uma falha de compatibilidade com o
AppCompatSpinner
na API de nível 21 e anteriores (p(.roblema 202246). - Correção de um problema em que o estilo
app:textAllCaps = "false"
não funcionava. (problema 202117). - Correção de uma falha ao restaurar o
SearchView
(problema 201836). - Foi corrigido um vazamento de memória que ocorria ao colorir recursos drawable usando AppCompat (problema 202379).
- Correção de um problema com
KeyEvent
na API de nível 11 e anteriores. (problema 202939).
- A dependência nos recursos vetoriais foi revertida para que os desenvolvedores que usam a
biblioteca
appcompat não sejam forçados a usar
- Mudanças na Biblioteca cardview v7:
-
- Acréscimo de compatibilidade com o "modo noturno" ao
CardView
(problema 194497).
- Acréscimo de compatibilidade com o "modo noturno" ao
- Mudanças na Biblioteca recyclerview v7:
-
- Correção de bugs relacionados a vários métodos de especificação de medição (problema 201856).
- Redução do período de bloqueio total em que
RecyclerView
não permite que o adaptador mude ao calcular um layout ou uma rolagem. (problema 202046). - Correção de uma falha ao chamar
notifyItemChanged()
em um item fora da visualização (problema 202136). - Correção de uma falha que ocorre quando
RecyclerView.LayoutManager
adiciona e remove uma visualização na mesma transmissão de medição. (problema 193958).
- Mudanças na Biblioteca mediarouter v7:
-
- Correção de uma falha que ocorre ao chamar
MediaRouter.getInstance()
no nível 17 da API (problema 180654).
- Correção de uma falha que ocorre ao chamar
- Mudanças na Biblioteca Leanback v17:
-
- Correção de um problema com
GridLayout.onAddFocusables()
que fazia com que o item errado fosse selecionado - Correção de um problema com ações
GuidedStepFragment
que desapareciam depois que uma ação era recolhida.
- Correção de um problema com
- Mudanças na Biblioteca de Suporte de Design:
-
- Correção de uma falha de
TabLayout
causada pelo pool de guias (problema 201827). - Correção de um bug em
NavigationView
que fazia com que a cor errada fosse selecionada. (problema 201951). - Correção de um bug em que
setBackgroundTintList()
não conseguia mais mudar a cor do plano de fundo. (problema 201873). - Correção de um problema em que
AppBarLayout
não saía completamente da visualização quando usado comandroid:fitsSystemWindows = “true”
(problema 201822). - Foi corrigido um problema em que
BottomSheetDialog
não exibia visualizações curtas de conteúdo corretamente. (problema 201793). - Correção de um problema em que
BottomSheetDialogFragment
movia-se esporadicamente quando o conteúdo dentro dele era mudado. (problema 202125). - Correção de uma falha no link do contador TextInputLayout.
- Correção de uma falha que ocorria quando o
TextInputLayout.getCounterMaxLength()
restaurava um estado salvo (problema 202375). - Correção de uma
ClassCastException
que ocorria ao restaurar umCoordinatorLayout
usando o estado salvo de uma visualização que não era umCoordinatorLayout
- Correção de uma falha de
- Alterações no VectorDrawableCompat:
-
- Correção de um bug em que a variável incorreta era lida para
android:tintMode
(problema 201907).
- Correção de um bug em que a variável incorreta era lida para
Revisão 23.2.0
Fevereiro de 2016
- Mudanças na Biblioteca de Suporte v4:
-
- Inclusão de
MediaBrowserCompat
para compatibilidade comMediaBrowser
e deMediaBrowserServiceCompat
para compatibilidade comMediaBrowserService
. Isso é útil ao conectar o serviço em segundo plano de um app de música a componentes de IU e fazer a integração com o Android Auto e o Android Wear sem exigir o nível 21 da API ou mais recente. - O sistema agora chama
onActivityResult()
para umFragmentActivity
aninhado.
- Inclusão de
- Mudanças na Biblioteca AppCompat v7:
-
- Acréscimo da funcionalidade do "modo noturno" à API de nível 14 e posterior. Alterne entre temas claros e escuros do Material Design com base na hora do dia ou na configuração específica do app.
-
- Temas de dia e noite podem ser encontrados aqui:
<sdk>/extras/android/support/v7/appcompat/res/values/themes_daynight.xml
AppCompatDelegate.setDefaultNightMode()
: define o modo padrão do app transmitindo uma das constantes abaixo:-
MODE_NIGHT_AUTO
MODE_NIGHT_NO
MODE_NIGHT_YES
MODE_NIGHT_FOLLOW_SYSTEM
AppCompatDelegate.setLocalNightMode()
: modifica a configuração de modo noturno para o componente de app local.AppCompatDelegate.getDefaultNightMode()
: retorna o modo noturno padrão.
- Temas de dia e noite podem ser encontrados aqui:
- Mudanças na Biblioteca mediarouter v7:
-
- Agora,
MediaRouteControllerDialog
aplica corretamente as cores do tema de app personalizado
- Agora,
- Mudanças na Biblioteca de Suporte de Design:
-
- Adição de compatibilidade com páginas
inferiores. Um plug-in de interação,
BottomSheetBehavior
, permite que uma visualização filha de umCoordinatorLayout
atue como página inferior. A classe base,BottomSheetCallback
, fornece callbacks para monitorar eventos de página inferior.
- Adição de compatibilidade com páginas
inferiores. Um plug-in de interação,
- Mudanças na Biblioteca de Suporte CustomTabs:
-
- As guias personalizadas do Chrome agora permitem que os apps incluam uma barra inferior com botões de ação, além do botão de ação superior existente.
CustomTabsIntent.Builder.addToolBarItem()
: adiciona um botão de ação a uma guia personalizada. Você pode usá-lo para adicionar vários botões.CustomTabsSession.setToolBarItem()
: atualiza o visual dos itens da barra de ferramentas. Esse método só funcionará se receber um ID válido e se a sessão do navegador estiver em primeiro plano.
- Adicionada a biblioteca VectorDrawable:
-
- Classes adicionadas:
-
VectorDrawableCompat
AnimatedVectorDrawableCompat
- Adiciona compatibilidade com recursos
VectorDrawable
a apps executados na API de nível 7 ou mais recente. Os recursosAnimatedVectorDrawable
também são compatíveis com o nível 11 da API ou mais recente. Os recursos vetoriais podem ser consideravelmente menores que os recursos de imagem e ajudam a reduzir o tamanho do app, reduzindo a quantidade de recursos necessários para oferecer suporte a várias telas de dispositivos. - Essa biblioteca agora é uma dependência da biblioteca AppCompat v7, permitindo que os desenvolvedores e AppCompat usem drawables vetoriais com facilidade. Para usar
VectorDrawableCompat
em umaImageButton
ouImageView
, use o atributo XMLapp:srcCompat
ou o métodosetImageResource()
. - Para continuar referenciando IDs de atributo na API de nível 20 ou
anterior, adicione a seguinte sinalização
appt
ao seu arquivobuild,gradle
: -
- Se você está criando com o plug-in do Android para Gradle 1.5.0 ou
anterior, adicione o seguinte ao seu arquivo
build.gradle
: -
android { defaultConfig { // Stops the Gradle’s automatic rasterization of vectors generatedDensities = [] } // Flag that tells aapt to keep the attribute ids aaptOptions { additionalParameters "--no-version-vectors" } }
- Se você está criando com o plug-in do Android para Gradle 2.0.0 ou
mais recente, adicione o seguinte ao seu arquivo
build.gradle
: -
android { defaultConfig { vectorDrawables.useSupportLibrary = true } }
- Se você está criando com o plug-in do Android para Gradle 1.5.0 ou
anterior, adicione o seguinte ao seu arquivo
- Mudanças na Biblioteca Leanback v17:
-
- Adição de novos recursos a
GuidedStepFragment
, que é um componente que orienta os usuários em uma decisão ou série de decisões: -
- Adicionadas ações de botão a
GuidedAction
: GuidedStepFragment.setButtonActions()
: define uma lista de botõesGuidedAction
que o usuário pode selecionar na visualização Actions.- Os campos de descrição agora são editáveis:
-
GuidedAction.Builder.descriptionEditable()
: ao transmitirtrue
, define a descrição da ação como editável.GuidedAction.getEditDescription()
: retorna a descrição editável como umCharSequence
.
- Adicionadas listas suspensas de subações:
-
GuidedAction.setSubActions()
: define uma lista deGuidedAction
como um menu suspenso de subações.
- Adicionadas ações de botão a
- O widget
GuidedDatePickerAction
foi adicionado à funcionalidadeDatePicker
: -
- A data é selecionada usando as colunas de ano, mês e dia e tem um intervalo personalizável.
GuidedDatePickerAction.Builder
: classe builder para o objetoGuidedDatePickerAction
.GuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat)
: defina o formato de data desejado transmitindo oString
de três caracteres apropriado, por exemplo,“YMD”
ou“MDY”
. Como alternativa, use o atributo XMLdatePickerFormat
.
- Adição de novos recursos a
- Mudanças na Biblioteca RecyclerView v7:
-
RecyclerView
agora tem um recurso de ativação chamado AutoMeasure, que permite queRecyclerView.LayoutManager
envolva o conteúdo ou processe várias especificações de medição fornecidas pelo pai daRecyclerView
. Ele oferece suporte a todos os recursos de animação existentes doRecyclerView
.-
- Se você tiver um
RecyclerView.LayoutManager
personalizado, chamesetAutoMeasureEnabled(true)
para começar a usar a nova API AutoMeasure. Todos os objetosRecyclerView.LayoutManager
integrados permitem a medição automática por padrão. RecyclerView.LayoutManager
não ignora mais algumas configuraçõesRecyclerView.LayoutParams
, comoMATCH_PARENT
, na direção de rolagem.Observação:essas restrições removidas podem causar um comportamento inesperado nos seus layouts. Especifique os parâmetros de layout corretos.
- Se você tiver um
- Ao atualizar um
RecyclerView.ViewHolder
com informações de payload, oDefaultItemAnimator
agora desativa animações de mudança - Agora é possível modificar a velocidade de escape de
ItemTouchHelper
para controlar a sensibilidade ao deslizar. Para facilitar ou dificultar o gesto de deslizar, substituagetSwipeEscapeVelocity(float defaultValue)
e modifiquedefaultValue
.
Revisão 23.1.1
Novembro de 2015
- Mudanças na Biblioteca recyclerview v7:
-
- Correção de uma falha que ocorre quando você realiza uma ação de deslizar para dispensar fornecida pela
classe de utilitário
ItemTouchHelper
e depois adiciona um item (problema 190500).
- Correção de uma falha que ocorre quando você realiza uma ação de deslizar para dispensar fornecida pela
classe de utilitário
- Mudanças na biblioteca de preferências v7:
-
- Correção de um problema no uso do ProGuard (problema 183261).
- Mudanças na Biblioteca de Suporte Leanback v17:
-
- Correção de vários problemas internos dessa biblioteca.
- Mudanças na Biblioteca de Suporte de design:
-
- Inclusão do método
getHeaderView
à classeNavigationView
. - Foi corrigido um problema de segundo plano transparente para um objeto
FloatingActionButton
em dispositivos com o Android 4.0 (API de nível 15) e versões anteriores. (problema 183315).
- Inclusão do método
Revisão 23.1.0
Outubro de 2015
- Mudanças na Biblioteca de Suporte v4:
-
- Inclusão de suporte à interface
OnScrollChangedListener
ao widgetNestedScrollView
. Ele permite que você receba callbacks quando as posições de rolagem X ou Y mudarem. - Adição de uma classe
MediaButtonReceiver
para encaminhar controles de reprodução recebidos para um serviço que gerencia a classeMediaSessionCompat
. A classeMediaSessionCompat
tem um construtor que pode encontrar automaticamente um receptor de botão de mídia no manifesto. Um receptor de botão de mídia é uma parte fundamental para gerenciar controles de reprodução de controles de hardware ou Bluetooth.
- Inclusão de suporte à interface
- Mudanças na Biblioteca appcompat v7:
-
- Inclusão de widgets
Seekbar
eImageButton
do Material Design. - O widget
ImageView
foi atualizado para ser compatível com o recurso de tonalização. - Atualização da aparência do widget
SwitchCompat
.
- Inclusão de widgets
- Mudanças na Biblioteca mediarouter v7:
-
- Os seguintes recursos foram adicionados à classe
MediaRouteChooserDialog
: - Exibe uma página de carregamento ao descobrir provedores de roteamento de mídia.
- Inclui um ícone de tipo de dispositivo para facilitar a identificação.
- Classifica os roteamentos de acordo com a frequência de uso no aplicativo atual.
- Compatível com o modo paisagem.
- Os seguintes recursos foram adicionados à classe
MediaRouteControllerDialog
: - Reconhece a transmissão de tela e fornece uma descrição adequada.
- É compatível com vários tamanhos de arte de álbum e proporções e carrega a arte de forma assíncrona.
- Seleciona automaticamente a cor do conteúdo com base na cor principal do aplicativo.
- Ajusta o layout da caixa de diálogo com base no espaço de tela disponível no dispositivo.
- Compatível com o modo paisagem.
- Os seguintes recursos foram adicionados à classe
- Mudanças na Biblioteca de paletas v7:
-
- O método
setRegion()
foi adicionado para oferecer compatibilidade com a extração de cor de uma região específica de um objetoBitmap
.
- O método
- Mudanças na Biblioteca recyclerview v7:
-
- Adição de uma API de animação aprimorada à classe
ItemAnimator
para personalizações melhores: - Animações de mudança não aplicam mais duas cópias do objeto
ViewHolder
, o que ativa as animações de conteúdo do item. Além disso, o objetoItemAnimator
decide se quer reutilizar o mesmo objetoViewHolder
ou criar um novo. - A nova API de registro de informações oferece à classe
ItemAnimator
a flexibilidade de coletar dados no ponto correto do ciclo de vida do layout. Essas informações são transmitidas posteriormente para os callbacks de animação.
- Fornecimento de um plano de transição fácil para essa alteração de API incompatível com versões anteriores:
- Se você já estendeu a classe
ItemAnimator
, pode alterar a classe base paraSimpleItemAnimator
, e seu código funcionará como antes. A classeSimpleItemAnimator
fornece a API antiga agrupada com a nova API. - Alguns métodos foram removidos da classe
ItemAnimator
. O código a seguir não será mais compilado:
Kotlin
recyclerView.itemAnimator.supportsChangeAnimations = false
Java
recyclerView.getItemAnimator().setSupportsChangeAnimations(false)
Você pode substituí-lo pelo seguinte:
Kotlin
val animator: SimpleItemAnimator? = recyclerView.itemAnimator as? SimpleItemAnimator animator?.supportsChangeAnimations = false
Java
ItemAnimator animator = recyclerView.getItemAnimator(); if (animator instanceof SimpleItemAnimator) { ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false); }
- Adição de uma API de animação aprimorada à classe
- Mudanças para a Biblioteca de Suporte de preferências v7, v14 e v17:
-
- Remoção de APIs para controlar caixas de diálogo
EditText
.
- Remoção de APIs para controlar caixas de diálogo
- Mudanças na Biblioteca de Suporte Leanback v17:
-
- Inclusão de uma versão da classe
GuidedStepFragment
para a Biblioteca de Suporte (estendeandroid.support.v4.app.Fragment
), além de animações e transições aprimoradas. - A classe
GuidedStepFragment
foi atualizada para que possa ser colocada sobre o conteúdo já existente. - Adicionada a capacidade de anotar diferentes tipos de conclusões de pesquisa para a classe
SearchFragment
. - Foi adicionado suporte à transição de slides escalonada para a classe
VerticalGridFragment
.
- Inclusão de uma versão da classe
- Mudanças na Biblioteca de Suporte de design:
-
- Inclusão de compatibilidade com a
contagem de caracteres ao widget
TextInputLayout
. - Inclusão de suporte ao ajuste de borda à classe
AppBarLayout
com a constanteSCROLL_FLAG_SNAP
. Quando a rolagem terminar, se a visualização estiver parcialmente visível, ela será ajustada e rolada até a borda mais próxima. - Foi adicionado suporte a visualizações personalizadas para a classe
NavigationView
usando o atributoapp:actionLayout
ou o métodoMenuItemCompat.setActionView()
.
- Inclusão de compatibilidade com a
contagem de caracteres ao widget
- Mudanças na Biblioteca de Suporte de guias personalizadas:
-
- O método
enableUrlBarHiding()
foi adicionado à classeCustomTabsIntent
. Ele permite que o cliente personalize se a barra de URL ficará oculta automaticamente ao rolar para baixo. - O método
setActionButton()
foi adicionado à classeCustomTabsSession
. Ele permite que o cliente altere o ícone de um botão de ação personalizado em uma guia personalizada já iniciada. - As constantes
TAB_SHOWN
eTAB_HIDDEN
foram adicionadas como novos eventos para o métodoonNavigationEvent
da classeCustomTabsCallback
.
- O método
Revisão 23.0.1
Setembro de 2015
- Mudanças na Biblioteca de Suporte de preferências v7 e v14:
-
- Acréscimo do layout do Material Design e dos arquivos de estilo (problema 183376).
- Mudanças na Biblioteca appcompat v7:
-
- Correção de problemas de falha para a classe
Fragment
limitando o uso de camadas de hardware ao Android 4.1 (API de nível 16) e versões mais recentes. (problema 183896). - Correção de um problema em que os botões de hardware não funcionavam quando uma atividade tinha configurado a classe
Toolbar
para atuar comoActionBar
usando o métodosetSupportActionBar()
. (problema 183334). - A classe
AppCompatDialogFragment
foi atualizada para não gerar mais o erroWindows feature must be requested before adding content
. (problema 183186).
- Correção de problemas de falha para a classe
- Mudanças na Biblioteca de Suporte de design:
-
- Correção da classe
AppBarLayout
para que desenhe corretamente após a rotação (problema 183109). - Correção da classe
TabLayout
para que agora se comporte corretamente quando um usuário clica após um gesto de deslizar. (problema 183123).
- Correção da classe
- Mudanças na Biblioteca de Suporte de guias personalizadas:
-
- Diminuímos o valor
minSdkVersion
de 16 para 15 para suporte à versão. - Adição de uma maneira de gerar um
CustomTabsSessionToken
a partir de uma intent.
- Diminuímos o valor
Revisão 23
Agosto de 2015
- Acréscimo de novas bibliotecas de suporte:
Para ver uma lista completa das mudanças na Biblioteca de Suporte, consulte o Relatório de diferenças da API da Biblioteca de Suporte.
Revisão 22.2.1
Julho de 2015
- Mudanças na Biblioteca de Suporte de design:
-
- Os métodos
hide()
eshow()
foram adicionados à classeFloatingActionButton
para acionamento programático de animações. - A constante
LENGTH_INDEFINITE
foi adicionada à classeSnackbar
para mostrar uma snackbar até que ela seja dispensada ou outra seja exibida. Além disso, os métodossetActionTextColor(int)
esetActionTextColor(ColorStateList)
foram adicionados. - O método
getSelectedTabPosition()
foi adicionado à classeTabLayout
para recuperar a guia selecionada no momento. - Fornecimento de uma API totalmente fluente para a classe
android.support.v7.app.NotificationCompat.MediaStyle
para encadeamento de métodos. - Adição de métodos de conveniência a
RecyclerView
para inserção em lote de itens
- Os métodos
Para ver uma lista completa das mudanças na Biblioteca de Suporte, consulte o Relatório de diferenças da API da Biblioteca de Suporte.
Revision 22.2.0
Maio de 2015
- Acréscimo da Biblioteca de Suporte de design:
-
- Inclusão de
TextInputLayout
para mostrar o texto de dica e erro doEditText
como rótulos flutuantes. - Inclusão de
FloatingActionButton
para implementar uma ação principal na interface como um botão de ação flutuante, compatível com tamanhos padrão ou mini. Snackbar
foi adicionado para fornecer feedback leve com uma ação opcional em uma snackbar animada.- Inclusão de
TabLayout
para implementar guias fixas e roláveis, além de fácil integração comViewPager
. - Inclusão do
NavigationView
para implementar o conteúdo da gaveta de navegação, incluindo a capacidade de inflar itens de menu usando um Recurso de menu. - Adição de
CoordinatorLayout
, um layout de uso geral, usado para criar dependências entre visualizações irmãs e permitir reações de rolagem fáceis entre componentes usandoCoordinatorLayout.Behavior
. Muitos dos componentes da Biblioteca de Design dependem de serem filhos de umCoordinatorLayout
. - Foi adicionado
AppBarLayout
, um contêiner para umaToolbar
e outras visualizações (comoTabLayout
) para reagir a eventos de rolagem rolando para fora da tela, ficando visível em reação a uma rolagem para baixo ou recolher/descolar antes de rolar para fora/na tela. - Adição de
CollapsingToolbarLayout
para controlar como umToolbar
é recolhido. Uma barra de ferramentas pode ser recolhida: fixando componentes na parte de cima da tela enquanto ela é recolhida, introduzindo rolagem paralaxe de componentes comoImageView
ou adicionando uma cor scrim de conteúdo quando a visualização está parcialmente recolhida.
- Inclusão de
- Mudanças na Biblioteca de Suporte v4:
-
- Os métodos
getContentChangeTypes()
esetContentChangeTypes()
e os campos de tipo de mudança relacionados foram adicionados à classeAccessibilityEventCompat
para processar eventos de acessibilidade. - Os métodos
getActiveQueueItemId()
,getCustomActions()
egetExtras()
com campos de estado relacionados foram adicionados à classePlaybackStateCompat
para receber ações personalizadas da fila. - Adição dos métodos
addCustomAction()
,setActiveQueueItemId()
esetExtras()
à classePlaybackStateCompat.Builder
para adicionar ações personalizadas a um estado de reprodução. - Os métodos
fromCustomAction()
egetCustomAction()
foram adicionados à classePlaybackStateCompat.CustomAction
para receber ações personalizadas da fila. - Adição dos métodos
isAttachedToWindow()
,offsetLeftAndRight()
eoffsetTopAndBottom()
à classeViewCompat
para trabalhar com visualizações. - Os métodos
addOnPageChangeListener()
,clearOnPageChangeListeners()
eremoveOnPageChangeListener()
foram adicionados à classeViewPager
para responder a mudanças na página.O método
ViewPager.setOnPageChangeListener()
foi descontinuado. - O método
notifySubtreeAccessibilityStateChanged()
foi adicionado à classeViewParentCompat
para notificar uma visualização mãe de que o estado de acessibilidade de um dos descendentes mudou. - Adição dos métodos
translationZ()
,translationZBy()
,z()
ezBy()
à classeViewPropertyAnimatorCompat
para adicionar animação.
- Os métodos
- Mudanças na Biblioteca appcompat v7:
-
- O método
onWindowStartingSupportActionMode()
foi adicionado às classesAppCompatActivity
,AppCompatCallback
eAppCompatDialog
para gerenciar modos de ação iniciados na janela atual. - Os métodos
isHandleNativeActionModesEnabled()
esetHandleNativeActionModesEnabled()
foram adicionados à classeAppCompatDelegate
para gerenciar modos de ação nativa.
- O método
Para ver uma lista completa das mudanças na Biblioteca de Suporte, consulte o Relatório de diferenças da API da Biblioteca de Suporte.
Revisão 22.1.0
Abril de 2015
- Mudanças na Biblioteca de anotações:
-
- A Biblioteca de anotações foi adicionada para oferecer compatibilidade com inspeções de código avançado. Elas são adicionadas na forma de tags de metadados, anexadas a variáveis e parâmetros, e retornam valores para inspecionar os valores de retorno dos métodos, parâmetros passados e campos e variáveis locais.
- Mudanças na Biblioteca de Suporte v4:
-
- A classe
ColorUtils
foi adicionada para fornecer um conjunto de métodos utilitários relacionados a cores. - Os métodos
unwrap()
ewrap()
foram adicionados à classeDrawableCompat
, permitindo que você usesetTint()
,setTintList()
esetTintMode()
em todos os dispositivos com API de nível 4 ou mais recente. - A classe
TraceCompat
foi adicionada para gravar eventos de rastreamento no buffer de rastreamento do sistema, que podem ser coletados e visualizados usando a ferramenta Systrace. - A classe
CircularIntArray
foi adicionada para criar estruturas de dados de matriz de inteiro circular. - Adição dos métodos
clear()
,removeFromStart()
eremoveFromEnd()
à classeCircularArray
. Além disso, os métodos existentes nessa classe foram alterados para não finais. - A
InputDeviceCompat
foi adicionada como classe auxiliar para acessar dados na classeInputDeviceCompat
. - A classe
LayoutInflaterCompat
foi adicionada como auxiliar para acessar dados na classeLayoutInflaterCompat
, e a interfaceLayoutInflaterFactory
foi adicionada. - Adicionadas classe, métodos e interfaces para oferecer compatibilidade com rolagem aninhada.
- As classes auxiliares
NestedScrollingChildHelper
eNestedScrollingParentHelper
foram adicionadas para implementar visualizações mãe e filha de rolagem aninhada. - A interface
NestedScrollingChild
foi adicionada para ser implementada por subclassesView
. - As interfaces
NestedScrollingParent
eScrollingView
foram adicionadas para oferecer suporte a operações de rolagem e fornecer APIs relacionadas a rolagem. - O método
getNestedScrollAxes()
foi adicionado à classeViewGroupCompat
. - Adição de métodos à classe
ViewParentCompat
para oferecer suporte à rolagem aninhada. - A classe
NestedScrollView
foi adicionada para oferecer suporte à rolagem aninhada pai e filho em versões novas e antigas do Android.
- As classes auxiliares
- Adição de métodos e constantes à classe
MotionEventCompat
para receber valores de eixo e origem do evento. - A classe
AccessibilityNodeInfoCompat
foi atualizada para adicionar métodos para erros, invalidação de conteúdo e rótulos. - As seguintes classes de interpolação para animação foram adicionadas:
FastOutLinearInInterpolator
,FastOutSlowInInterpolator
,LinearOutSlowInInterpolator
,LinearOutSlowInInterpolator
ePathInterpolatorCompat
. - A classe
Space
foi adicionada para criar lacunas entre componentes em layouts de uso geral Essa classe está obsoleta na biblioteca gridlayout. - A classe
TextViewCompat
foi adicionada para acessar recursos em umTextView
. - Adição de um parâmetro de deslocamento ao método
onPull()
na classeEdgeEffectCompat
.
- A classe
- Mudanças na Biblioteca appcompat v7:
-
- Foi adicionado suporte a tonalidades para widgets da appcompat, incluindo
AppCompatAutoCompleteTextView
,AppCompatButton
,AppCompatCheckBox
,AppCompatCheckedTextView
,AppCompatEditText
,AppCompatMultiAutoCompleteTextView
,AppCompatRadioButton
,AppCompatRatingBar
,AppCompatSpinner
eAppCompatTextView
. - A
AppCompatActivity
foi atualizada como a classe de base para atividades que usam os recursos da barra de ações da Biblioteca de Suporte. Essa classe substitui aActionBarActivity
obsoleta. - A interface
AppCompatCallback
foi adicionada para ser implementada por AppCompat para executar callbacks. - A classe abstrata
AppCompatDelegate
foi adicionada como um delegado que pode ser usado para estender a compatibilidade com AppCompat a qualquer atividade. - A classe
AppCompatDialog
foi adicionada como a classe base para caixas de diálogo com tema de AppCompat. - As classes
AlertDialog
eAlertDialog.Builder
de estilo de ícone de carregamento foram adicionadas para fornecer umAlertDialog
com tema de AppCompat. - A classe
Palette.Builder
foi adicionada para gerar instâncias dePalette
.- O método
from(Bitmap)
foi adicionado à classePalette
para começar a gerar uma paleta com a instânciaPalette.Builder
retornada. - Os métodos
Palette.generate()
ePalette.generateAsync()
foram descontinuados.
- O método
- O método
getAbsoluteAlignment()
foi adicionado à classeGridLayout.Spec
. - O uso de
app:theme
para o estilo deToolbar
foi descontinuado. Agora você pode usarandroid:theme
para barras de ferramentas em todos os dispositivos com API de nível 7 e mais recentes eandroid:theme
para oferecer suporte a todos os widgets em dispositivos com API de nível 11 e mais recentes.
- Foi adicionado suporte a tonalidades para widgets da appcompat, incluindo
- Mudanças na Biblioteca Leanback v17:
-
-
GuidedStepFragment
,GuidanceStylist
eGuidedActionsStylist
foram adicionados para oferecer compatibilidade com a criação de fluxos de decisão em várias etapas.
-
- Mudanças na Biblioteca recyclerview v7:
-
- Adição de classes
SortedList
para exibir itens em uma ordem de lista e fornecer notificações de mudanças na lista. - Foi adicionada a classe
SortedListAdapterCallback
, que pode vincular uma lista classificada a uma classeRecyclerView.Adapter
.
- Adição de classes
- Mudanças na Biblioteca renderscript v8:
-
- Adicionada a classe
ScriptIntrinsicHistogram
para uso como filtro de histograma. - A classe
ScriptIntrinsicResize
foi adicionada para realizar o redimensionamento de uma alocação 2D.
- Adicionada a classe
- Mudanças na Biblioteca de Suporte v4:
-
- O método
getDrawable()
foi atualizado para retornar um objeto drawable para um ID de recurso, densidade de tela e tema específicos. - O método
setImportantForAccessibility()
foi adicionado para que você possa indicar se uma visualização acionará eventos de acessibilidade. - O método
getStatusBarBackgroundDrawable()
foi adicionado para que você possa ter o drawable em segundo plano da barra de status. - Adição de métodos à classe
NotificationCompat.CarExtender.UnreadConversation
para que os apps de mensagens do Android Auto possam extrair outros dados de notificação. - O método
getProgressCircleDiameter()
foi adicionado para retornar o diâmetro de um layout de círculo - A cor padrão da barra de status
DrawerLayout
foi alterada paracolorPrimaryDark
.
- O método
- Mudanças na Biblioteca appcompat v7:
-
- Adição do estilo de ícone de carregamento
Base_Widget_AppCompat_Spinner_Underlined
. - Foram adicionados estilos de widgets coloridos com
Widget_AppCompat_AutoCompleteTextView
,MultiAutoCompleteTextView
,TextAppearance_AppCompat_Button
eBase_Widget_AppCompat_RatingBar
.
- Adição do estilo de ícone de carregamento
- Mudanças na Biblioteca Leanback v17:
-
- Os métodos
getRecycledPoolSize()
esetRecycledPoolSize()
foram adicionados para permitir tamanhos personalizados de pools reciclados. - O atributo
WRAP_CONTENT
foi adicionado à configuração de largura do layout para oferecer compatibilidade com o conteúdo agrupado de ícones de título. - O
R.transition
foi definido em XML para melhorar as atualizações de transição. - A compatibilidade com layouts da direita para a esquerda foi ativada.
- Foi adicionado suporte para a reprodução e pausa de eventos de tecla de mídia à
classe
PlaybackOverlayFragment
. - Inclusão de transições de entrada e retorno às
classes
BrowseFragment
eDetailsFragment
. - O método
replace()
foi adicionado para substituir itens na matriz de adaptador de um objeto.
- Os métodos
- Mudanças na Biblioteca mediarouter v7:
-
- Atualização dos ícones do Google Cast para usar o estilo de Material Design.
- Todos os ícones usados nas caixas de diálogo
MediaRouter
foram atualizados para usar o estilo Material Design.
- Mudanças na Biblioteca recyclerview v7:
-
- Os métodos
getlayoutPosition()
egetadapterPosition()
foram adicionados à classeRecyclerView
. - Os métodos
classgetChildPosition()
efindViewHolderForPosition()
da classeRecyclerView
foram descontinuados. - O uso do método
getPosition()
na classeRecyclerView.ViewHolder
foi descontinuado. - O uso do método
getViewPosition()
na classeRecyclerView.LayoutParams
foi descontinuado.
- Os métodos
- Mudanças na Biblioteca de Suporte v4:
-
- Vários métodos
NotificationCompat.WearableExtender
foram adicionados para melhorar a exibição de códigos de barras em notificações em dispositivos wearable.
- Vários métodos
- Mudanças na Biblioteca de Suporte v4:
-
- A classe
NotificationCompat.CarExtender
foi adicionada para oferecer suporte a extensões do Android Auto em notificações.
- A classe
- Mudanças na Biblioteca appcompat v7:
-
- O construtor
PopupMenu
foi adicionado para oferecer compatibilidade com novos menus pop-up. - Foi adicionado suporte a uma descrição do ícone "Recolher" na classe
Toolbar
. - O widget
SearchView
foi atualizado para oferecer compatibilidade com a exibição decommitIcon
. - O atributo
buttonGravity
foi removido da classeToolbar
.
- O construtor
- Mudanças na Biblioteca cardview v7:
-
- A API
setCardBackgroundColor(ColorStateList)
foi adicionada para oferecer compatibilidade com a mudança da cor de plano de fundo doCardView
CardView
mudou para informar com mais precisão o valor de opacidade comoTRANSLUCENT
.
- A API
- Mudanças na Biblioteca recyclerview v7:
-
- As constantes
TOUCH_SLOP_DEFAULT
eTOUCH_SLOP_PAGING
foram adicionadas à classeRecyclerView
para oferecer compatibilidade com configurações de tolerância de toque para paginação.
- As constantes
- Mudanças na Biblioteca Leanback v17:
-
- Adicionado suporte para gerar fragmentos de código v4.
- A cor de texto secundária em
CardView
foi alterada.
- Inclusão da Biblioteca de Suporte a multidex para oferecer suporte a vários arquivos Dalvik executáveis (DEX) para arquivos multidex anteriores ao Android 5.0.
- Mudanças na Biblioteca de Suporte v4:
-
- Foi adicionado suporte a transições de
Fragment
para dispositivos com Android 5.0 (API de nível 21). Esteja ciente de que as transições não afetam dispositivos com o Android 4.4 ou versões anteriores. DocumentFile
foi adicionado para facilitar a transição deFile
ao trabalhar com árvores de documentos. No entanto, essa classe exige mais sobrecarga de processamento em comparação com a APIDocumentsContract
da plataforma adicionada no Android 4.4 (API de nível 19). Portanto, você precisa passar a usarDocumentsContract
ao executar no Android 4.4 e versões mais recentes.
- Foi adicionado suporte a transições de
- Mudanças na Biblioteca appcompat v7:
-
- Foi adicionada compatibilidade com interfaces do usuário do Material Design.
- Adição de
Toolbar
, que generaliza a funcionalidade deActionBar
para uso em layouts de apps. - Atualização de
ActionBarDrawerToggle
, que contém a animação de menu a seta. - Atualização de widgets comuns da interface do usuário para permitir a tonalidade por meio de atributos de tema ao serem executados em dispositivos anteriores ao Android 5.0
- Adição de
SwitchCompat
, uma retrocompatibilidade do widgetSwitch
que foi adicionado no Android 4.0 (API de nível 14).
- Nova Biblioteca cardview v7:
-
- Foi adicionado o widget
CardView
, que fornece uma implementação compatível com o Material Design para mostrar itens de dados.
- Foi adicionado o widget
- Nova Biblioteca recyclerview v7:
-
- Foi adicionado o widget
RecyclerView
, que fornece uma visualização em lista flexível para fornecer uma janela limitada em um grande conjunto de dados.
- Foi adicionado o widget
- Nova Biblioteca de paletas v7:
-
- A classe
Palette
foi adicionada, que permite extrair cores proeminentes de uma imagem.
- A classe
- Nova Biblioteca Leanback v17:
-
- Foi adicionado suporte à criação de interfaces do usuário de TV, incluindo
BrowseFragment
,DetailsFragment
ePlaybackOverlayFragment
. Para saber mais sobre o uso desses widgets de interface do usuário, consulte Criar apps de reprodução de TV.
- Foi adicionado suporte à criação de interfaces do usuário de TV, incluindo
- Mudanças na Biblioteca de Suporte v4:
-
- Foi adicionado suporte a notificações estendidas para Android Wear em
NotificationCompat.WearableExtender
, o que permite especificar recursos específicos de wearable nas suas notificações. - Acréscimo de
NotificationCompat.Action.WearableExtender
, que permite adicionar ações a notificações de wearable. - Adição de
NotificationManagerCompat
, que permite que você emita notificações compatíveis com recursos de wearable. - Adição de
RemoteInput
, que permite que um dispositivo portátil receba entrada de texto por voz de uma notificação exibida em um dispositivo wearable. - Melhoria no gerenciamento do feedback de toque em
SwipeRefreshLayout
.
- Foi adicionado suporte a notificações estendidas para Android Wear em
- Mudanças na Biblioteca de Suporte v4:
-
- Foi adicionada a classe
SwipeRefreshLayout
, que permite que os usuários atualizem o conteúdo de uma visualização com um gesto de deslizar vertical. - Correção de problemas de acessibilidade com gavetas de navegação.
- Foi adicionada a classe
- Mudanças na Biblioteca appcompat v7:
-
- Correção de problemas em segundo plano com a barra de ações.
- Mudanças na Biblioteca de Suporte v4:
-
- Melhoria de
PrintHelper
com a adição do processamento assíncrono de impressão. - Correção da aproximação da classe
DrawerLayout
do métodoaddChildrenForAccessibility()
. - Correção do espelhamento do drawable de deslizar em
ActionBarDrawerToggle
. - Correção de um problema "off-by-one" ao remover um item de um iterador de coleção.
- Melhoria de
- Mudanças na Biblioteca mediarouter v7:
-
- Identificação de rota aprimorada usando o nome completo do componente em
MediaRouteProvider.ProviderMetadata
. - Atualização de
MediaRouteChooserDialog
para ocultar rotas desativadas.
- Identificação de rota aprimorada usando o nome completo do componente em
- Mudanças na Biblioteca renderscript v8
-
- Adição de propagação de erro para a camada de thunking do RenderScript.
- Mudanças na Biblioteca de Suporte v4:
-
- Foi adicionado suporte a APIs de armazenamento externo com
getObbDirs()
,getExternalFilesDirs()
,getExternalCacheDirs()
egetStorageState()
. Esses métodos auxiliares sempre retornam um único objeto de arquivo em dispositivos com o Android 4.3 (API de nível 18) e versões anteriores. Quando executados no Android 4.4 (API de nível 19) ou versões mais recentes, esses métodos podem retornar mais de um objeto de arquivo. - Foi adicionada a classe
PrintHelper
, que funciona com as APIs Print para mostrar imagens com um mínimo de código. - Acréscimo de compatibilidade com a interface do usuário de arrastar para abrir para menus pop-up. Para saber mais, consulte
PopupMenuCompat
eListPopupWindowCompat
. - O suporte à acessibilidade foi melhorado com a adição de um
método
findFocus()
emAccessibilityNodeProviderCompat
e do métodogetLiveRegion()
emAccessibilityNodeInfoCompat
. - Foi adicionada a classe auxiliar
ScaleGestureDetectorCompat
para acessar novos métodos de gesto de escalonamento. - Correção do problema com
ActionBarDrawerToggle
em exibições de idioma da direita para a esquerda - A opção
AutoScrollHelper
foi modificada para consumir eventos de toque ou permitir que eles sejam transmitidos para outras visualizações.
- Foi adicionado suporte a APIs de armazenamento externo com
- Mudanças na Biblioteca mediarouter v7:
-
- Foi adicionado suporte ao enfileiramento de reprodução de mídia, à configuração de valores de cabeçalho HTTP e à duração da reprodução de mídia.
- Foram adicionadas ações explícitas de início, acesso e término da sessão para gerenciar explicitamente as sessões de reprodução de mídia com o roteador de mídia.
- Mudanças na Biblioteca de Suporte v4:
-
- Interface do usuário
- Inclusão de
BidiFormatter
para gerenciar strings de texto que combinam texto formatado da direita para a esquerda e da esquerda para a direita. - Modificação de
ViewPager
para lidar melhor com casos em que o pager tem uma largura medida de zero no processamento de layout inicial. DrawerLayout
eSlidingPaneLayout
foram modificados para não gerar exceções para a medição enquanto o código do projeto está sendo editado.
- Inclusão de
- Acessibilidade
ExploreByTouchHelper
foi adicionado para simplificar a implementação da acessibilidade para visualizações personalizadas.- Correção de um problema com
ViewPager
preenchendo incorretamente eventos de acessibilidadeTYPE_VIEW_SCROLLED
. - Correção de uma exceção de ponteiro nulo em
ViewPager
ao preencher um evento de acessibilidade - Simplificação de
AccessibilityNodeInfoCompat
mudando entradasCharSequence
para objetosString
. - Um construtor
AccessibilityRecordCompat
que usava umObject
como entrada foi descontinuado.
- Mídia
- Foi adicionada a classe auxiliar
TransportMediator
para gerenciar o controle de transporte de mídia, como reproduzir, pausar, pular e outras ações de mídia. - Acréscimo de
DisplayManagerCompat
para gerenciar a saída de exibição para uma ou mais telas de dispositivos.
- Foi adicionada a classe auxiliar
- Outras mudanças
- Foi adicionada a classe auxiliar
WakefulBroadcastReceiver
para implementar um padrão comum de detecção de um evento de ativação de dispositivo e transmissão do trabalho paraService
, garantindo que o dispositivo não volte à suspensão antes da conclusão da transferência. - Foram adicionadas duas novas APIs,
commitContentChanged()
erollbackContentChanged()
, aAsyncTaskLoader
para ajudar a lidar com atualizações em segundo plano para mudanças de dados que são canceladas posteriormente.
- Foi adicionada a classe auxiliar
- Interface do usuário
- Nova Biblioteca appcompat v7:
-
ActionBar
foi adicionado para permitir a implementação do padrão de design da interface do usuário da barra de ações no Android 2.1 (API de nível 7) ou versões mais recentes. O uso dessa classe requer que você implemente sua atividade estendendo a nova classeActionBarActivity
.
- Nova Biblioteca mediarouter v7:
-
Adição de uma nova biblioteca mediarouter que oferece compatibilidade com a versão de pré-lançamento para desenvolvedores do Google Cast. As APIs da biblioteca mediarouter v7 oferecem um meio de controlar o roteamento de canais e streams de mídia do dispositivo atual para telas, alto-falantes e outros dispositivos de destino externos, com compatibilidade com o Android 2.1 (API de nível 7). Consulte a Biblioteca mediarouter V7 para mais informações.
As APIs da biblioteca mediarouter v7, introduzidas na Biblioteca de Suporte r18, estão sujeitas a mudanças em revisões posteriores da Biblioteca de Suporte. No momento, recomendamos o uso da biblioteca somente em conexão com a prévia para desenvolvedores do Google Cast.
- Mudanças na Biblioteca de Suporte v4:
-
- Adição de
DrawerLayout
para criar uma gaveta de navegação que pode ser puxada da borda de uma janela. - Acréscimo do widget
SlidingPaneLayout
para criar visualizações de resumo e detalhes vinculadas que se adaptam adequadamente a vários tamanhos de tela. ActionBarDrawerToggle
foi adicionada como uma maneira de vincular as funções deDrawerLayout
eActionBar
.ViewDragHelper
foi adicionado como um novo componente comum para arrastar visualizações para uma visualização mãe- Adição de
ScrollerCompat
para oferecer compatibilidade comScroller
eOverScroller
- Acréscimo de
FileProvider
para permitir o compartilhamento de arquivos privados entre aplicativos. ViewPager
foi atualizado para gerar uma exceção se a classePagerAdapter
associada for modificada sem uma chamada paranotifyDataSetChanged()
.- Correção de um problema com
ViewPager
filhos desenhando a ordem de classificação GestureDetectorCompat
foi corrigido para enviar chamadasonSingleTapConfirmed(MotionEvent)
ausentes entre o tempo limite de toque e os eventos de tocar e manter pressionado.
- Adição de
- Nova Biblioteca gridlayout v7:
-
GridLayout
foi adicionado para oferecer compatibilidade com o objeto de layoutGridLayout
.- Adição de
android.support.v7.widget.Space
, que pode ser usado para criar áreas em branco em um objeto de layoutGridLayout
.
- Mudanças na Biblioteca de Suporte v4:
-
- Melhor comportamento de interação para
ViewPager
. - Correção de um bug que poderia fazer com que
ViewPager
selecionasse a página errada. - Correção do uso do método
removeView()
durante o layout deViewPager
. - Correção do problema com
SearchViewCompat
, em que o uso do botão "Voltar" para dispensar não apagava o texto da pesquisa Essa correção se aplica somente aos níveis 14 e mais recentes da API host.
- Melhor comportamento de interação para
- Mudanças na Biblioteca de Suporte v4:
-
- Interface do usuário
- Adição de compatibilidade com classes
Fragment
aninhadas. - Foram adicionadas melhorias à depuração de
FragmentManager
- Foi corrigido um problema de
FragmentTabHost
, em que a interação entre fragmento e guia podia resultar em uma perda de estado deListView
- Correção do problema com a dica visível ao usuário em
FragmentStatePagerAdapter
. - A interface
PageTransformer
foi adicionada aViewPager
para permitir que os aplicativos ofereçam um comportamento de transição personalizado para rolagem - Foram adicionados novos recursos e correções para o
TaskStackBuilder
da versão atual. PagerTitleStrip
foi corrigido para rastrear corretamente oPagerAdapter
em uso no momento- Correção de problemas com a tela piscando, posicionamento e recorte de texto com
PagerTitleStrip
PagerTabStrip
foi corrigido para respeitar corretamente o padding ao desenhar um sublinhado.
- Adição de compatibilidade com classes
- Acessibilidade
- Foi adicionado suporte a novos tipos de evento de toque e gesto de acessibilidade em
AccessibilityEventCompat
. - Foi adicionado suporte a novas APIs de acessibilidade em
ViewCompat
. - Foi adicionado suporte ao método
performAccessibilityAction()
aViewCompat
.
- Foi adicionado suporte a novos tipos de evento de toque e gesto de acessibilidade em
- Foi adicionado suporte a gestos com
GestureDetectorCompat
. - Inclusão de compatibilidade com a execução de operações atômicas em arquivos usando uma nova classe
AtomicFile
. - Foi adicionado suporte ao conjunto completo de métodos
make
emIntentCompat
. - O método
trimToSize()
foi adicionado na classe de utilitárioLruCache
. ConnectivityManagerCompat
foi atualizado para receber informações de rede de uma transmissãoCONNECTIVITY_ACTION
.
- Interface do usuário
- Mudanças na Biblioteca de Suporte v4:
-
- Foi adicionado suporte a recursos de notificação introduzidos no Android 4.1 (API de nível 16) com
adições a
NotificationCompat
.
- Foi adicionado suporte a recursos de notificação introduzidos no Android 4.1 (API de nível 16) com
adições a
- Mudanças na Biblioteca de Suporte v4:
-
- Suporte à interface do usuário
- Foi adicionado suporte a
PagerTabStrip
, oferecendo funcionalidades avançadas além dePagerTitleStrip
- Correção de vários bugs para
PagerTitleStrip
ePagerTabStrip
, incluindo a opçãosetAllCaps
, alinhamento de título, melhorias na aparência, restrições de largura mínima e problemas de navegação por toque - Foi adicionado suporte a medianizes de página
ViewPager
, que ajudam a classeViewPager
a oferecer suporte à paginação para conteúdo com um grande intervalo de rolagem horizontal, como um mapa. - Correção de vários bugs para
ViewPager
, incluindo problemas de mudança de tamanho e conjunto de dados, posicionamento da página, interação do usuário, rastreamento de rolagem e problemas de navegação pelo teclado. - Foram corrigidos muitos bugs para
Fragment
, incluindo o processamento correto deonActivityResult()
quando o fragmento de destino não existe mais, o envio de eventos de seleção para fragmentos invisíveis, o comportamentoFragmentTransaction.replace()
aprimorado e o processamento de estado para fragmentos que são movidos para fora da visualização. - Adição de compatibilidade com o método
postOnAnimation()
emViewCompat
. - Atualização de
NavUtils
para usar a funcionalidade de navegação Up do Android 4.1 (nível 16 da API), quando disponível.
- Foi adicionado suporte a
- Acessibilidade
- As classes de suporte à acessibilidade foram atualizadas, incluindo
AccessibilityNodeInfoCompat
, para seguir as correções feitas no Android 4.1 (API de nível 16). - Adição de compatibilidade com ações de rolagem de acessibilidade em
ViewPager
.
- As classes de suporte à acessibilidade foram atualizadas, incluindo
- Melhorias gerais
- Atualização de
TaskStackBuilder
para refletir as mudanças na API no Android 4.1 (API de nível 16). - Melhoria em
TaskStackBuilder
para permitir que ele seja usado em um serviço. - Foi adicionado suporte a
EXTRA_HTML_TEXT
aShareCompat
. - Atualização de
NotificationCompat.Builder
para oferecer suporte ao métodosetNumber()
. - Foi adicionado suporte em
ConnectivityManagerCompat
para o métodoisActiveNetworkMetered()
.
- Atualização de
- Suporte à interface do usuário
- Mudanças na Biblioteca de Suporte v4:
-
- Correção das sinalizações de intent para objetos
PendingIntent
gerados porTaskStackBuilder
. - Os atributos não utilizados foram removidos dos projetos de biblioteca gridlayout para garantir que a biblioteca possa ser compilada com o nível de API 7 e versões mais recentes.
- Os arquivos
.classpath
e.project
foram adicionados ao projeto de biblioteca gridlayout.
- Correção das sinalizações de intent para objetos
- Mudanças na Biblioteca de Suporte v4:
-
- Adição de
ShareCompat
, que fornece classes auxiliares para enviar e receber conteúdo para aplicativos de compartilhamento em redes sociais, incluindo novos metadados para atribuir dados compartilhados ao app de origem. Essa classe também oferece integração compatível com o novoShareActionProvider
no Android 4.0. NavUtils
eTaskStackBuilder
foram adicionados para oferecer suporte à implementação das diretrizes de Design do Android para navegação. Essas adições incluem uma maneira de implementar o botão Para cima da barra de ações nas versões. Para conferir um exemplo de implementação desse padrão, consulte o exemplo AppNavigation em (<em><sdk></em>/samples/<em><platform></em>/AppNavigation
).NotificationCompat.Builder
foi adicionado para fornecer uma implementação de compatibilidade da classe auxiliarNotification.Builder
do Android 3.0 para criar notificações de sistema padronizadas.
- Adição de
- Mudanças na Biblioteca de Suporte v4:
-
- Mudanças no ViewPager:
- Adição de compatibilidade com a visualização decorativa para
ViewPager
. As visualizações decorativas podem ser fornecidas como visualizações filhas de um pager no layout XML. PagerAdapter.getPageTitle()
foi adicionado para fornecer strings de título para páginas, que não têm título em cada página.- Adição de
PagerTitleStrip
, uma faixa de título não interativa, que pode ser adicionada como filha do ViewPager. Os desenvolvedores podem fornecer aparência e cor de texto, bem como dimensionamento de layout e informações sobre gravidade. - Atualização dos métodos
PagerAdapter
para usar objetos ViewGroup em vez de View para evitar a transmissão de classes em implementações de adaptador. - Atualização de
ViewPager
para usar o comportamento de rolagem rápida no estilo da tela de início. - Correções de bugs na interação com a interface do usuário e na automação de testes.
- Adição de compatibilidade com a visualização decorativa para
- Suporte a fragmentos:
- O método
setStartDeferred()
foi alterado parasetUserVisibleHint(boolean)
. - Adição do início adiado para páginas fora da tela para melhorar o desempenho.
- O método
- Suporte às APIs de acessibilidade:
- Atualização dos métodos
AccessibilityDelegateCompat
para retornar listas vazias em vez de nulas. - Adição de novas APIs necessárias às amostras da v4.
- Atualização dos métodos
- Mudanças no ViewPager:
- Mudanças na Biblioteca de Suporte v4:
-
- Suporte às APIs de acessibilidade:
- Adição de
AccessibilityDelegateCompat
para oferecer suporte aView.AccessibilityDelegate
. - Adição de
AccessibilityEventCompat
para oferecer suporte aAccessibilityEvent
. - Adição de
AccessibilityManagerCompat
para oferecer suporte aAccessibilityManager
. - Adição de
AccessibilityNodeInfoCompat
para oferecer suporte aAccessibilityNodeInfo
. - Adição de
AccessibilityRecordCompat
para oferecer suporte aAccessibilityRecord
. - Adição de
AccessibilityServiceInfoCompat
para oferecer suporte aAccessibilityServiceInfo
. - Adição de
ViewGroupCompat
para oferecer suporte a recursos de acessibilidade emViewGroup
. - Modificação de
ViewCompat
para oferecer suporte a recursos de acessibilidade emView
.
- Adição de
- Mudanças no ViewPager:
- Adição de compatibilidade com margens entre páginas.
Um
Drawable
opcional pode ser fornecido para preencher as margens. - Adição de compatibilidade com
EdgeEffect
. - Adição de compatibilidade com a navegação pelo teclado.
- Foi adicionado suporte para controlar quantas páginas são mantidas em cada lado da página atual.
- Física de toque aprimorada.
- Correção de bugs no comportamento da interface do usuário.
- Adição de compatibilidade com margens entre páginas.
Um
- Suporte às APIs de acessibilidade:
- Mudanças na Biblioteca de Suporte v4:
-
EdgeEffectCompat
foi adicionado para oferecer suporte aEdgeEffect
.LocalBroadcastManager
foi adicionado para permitir que aplicativos se registrem e recebam intents em um único app com facilidade, sem transmiti-los globalmente.- Foi adicionado suporte a
ViewCompat
para verificar e definir modos de rolagem paraView
s no Android 2.3 e mais recentes. - Mudanças nas APIs Fragment:
- Adição de novas APIs para controlar a visibilidade de novos menus.
- Adição de APIs de animação personalizadas.
- Adição de APIs em
FragmentActivity
para reter dados de instâncias personalizadas e sem configuração. - Várias correções de bugs.
- Correção de um bug
Loader
que causava problemas no cancelamento deAsyncTask
s durante a execução no Froyo e em versões mais antigas da plataforma. O código de suporte agora usa a própria versão deAsyncTask
para manter o mesmo comportamento em todas as versões da plataforma.
- Mudanças na Biblioteca de Suporte v4:
-
- Adiciona compatibilidade com
Fragment.SavedState
- Adiciona
MotionEventCompat
para oferecer compatibilidade com APIsMotionEvent
mais recentes - Adiciona
VelocityTrackerCompat
para oferecer compatibilidade com APIs de umVelocityTracker
mais recente - Adiciona
ViewConfigurationCompat
para oferecer compatibilidade com APIs de umViewConfiguration
mais recente - Todas as novas APIs (disponíveis apenas na Biblioteca de Suporte) que permitem criar IUs
com paginação horizontal, permitindo que os usuários deslizem para a esquerda e para a direita entre as visualizações de conteúdo. As classes que
oferecem suporte a isso incluem:
ViewPager
: umViewGroup
que gerencia o layout das visualizações filhas, entre as quais o usuário pode deslizar.PagerAdapter
: um adaptador que preenche oViewPager
com as visualizações que representam cada página.FragmentPagerAdapter
: uma extensão dePagerAdapter
para virar entre fragmentos.FragmentStatePagerAdapter
: uma extensão dePagerAdapter
para alternar entre fragmentos que usa o suporte da biblioteca paraFragment.SavedState
.
- Adiciona compatibilidade com
- Nova Biblioteca de Suporte da v13:
-
- Inclui
FragmentPagerAdapter
eFragmentStatePagerAdapter
para oferecer suporte à paginação horizontal.Eles são exatamente iguais às APIs adicionadas à Biblioteca de Suporte v4, mas dependem de outros componentes da plataforma no Android 3.2. Use essa biblioteca em vez da v4 se você estiver desenvolvendo para o Android 3.2 e versões mais recentes. Todas as outras APIs da biblioteca v4 já estão disponíveis com o nível da API 13.
- Inclui
- Mudanças na biblioteca v4:
-
- Compatibilidade com animações de fragmento
- Correção do bug
Fragment.onActivityResult()
.
Revisão 22
Março de 2015
Revisão 21.0.3
Dezembro de 2014
Revisão 21.0.2
Novembro de 2014
Revisão 21.0.1
Novembro de 2014
Revisão 21
Outubro de 2014
Revisão 20
Julho de 2014
Revisão 19.1.0
Março de 2014
Revisão 19.0.1
Dezembro de 2013
Revisão 19
Outubro de 2013
Revisão 18
Julho de 2013
Revisão 13
Maio de 2013
Revisão 12
Fevereiro de 2013
Revisão 11
Novembro de 2012
Revisão 10
Agosto de 2012
Revisão 9
Junho de 2012
Revisão 8
Abril de 2012
Revisão 7
Março de 2012
Revisão 6
Dezembro de 2011
Observação:a referência das APIs da Biblioteca de Suporte agora está disponível com
as referências do framework, por exemplo: android.support.v4.app
.
Revisão 5
Dezembro de 2011
Revisão 4
Outubro de 2011
Revisão 3
Julho de 2011
Revisão 2
Maio de 2011
Revisão 1
Março de 2011
Versão inicial com a Biblioteca v4.