Para adicionar uma dependência à SwipeRefreshLayout, adicione o repositório Maven do Google ao seu
projeto. Leia Repositório Maven do Google para ver mais informações.
Adicione as dependências dos artefatos necessários ao arquivo build.gradle do
seu app ou módulo:
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver
ideias para melhorar esta biblioteca. Consulte os
problemas conhecidos
nesta biblioteca antes de criar um novo. Adicione seu voto a um problema
clicando no botão de estrela.
Lançamento de androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-beta01. A versão 1.2.0-beta01 contém estas confirmações.
Mudanças na API
A nulidade dos parâmetros do método SwipeRefreshLayout e dos tipos de retorno foram especificados (I006d1, b/236497776).
Correções de bugs
Essa biblioteca agora usa anotações de nulidade JSpecify, que são de uso de tipo. Os desenvolvedores Kotlin precisam usar o seguinte argumento do compilador para aplicar o uso correto: -Xjspecify-annotations=strict (este é o padrão a partir da versão 2.1.0 do compilador Kotlin). (Iaf490, b/326456246).
requestDisallowInterceptTouchEvent(boolean) agora cumpre a
solicitação como qualquer outro ViewGroup. Embora não seja recomendado, o novo
comportamento pode ser desativado com
setLegacyRequestDisallowInterceptTouchEventEnabled. (I968da, b/141855018)
Temos um novo atributo de estilo R.styleable.SwipeRefreshLayout_swipeRefreshLayoutProgressSpinnerBackgroundColor para definir a cor de fundo do indicador de progresso. (aosp/931124, link em inglês)
Mudanças na API
requestDisallowInterceptTouchEvent(boolean) agora é sempre propagado para os pais. Embora não seja recomendado, o novo comportamento pode ser desativado com setLegacyRequestDisallowInterceptTouchEventEnabled. (aosp/1108540, link em inglês)
Correções de bugs
Correção do problema com a rolagem aninhada, onde SwipeRefreshLayout tem um pai rolável (por exemplo, ViewPager2) e um filho rolável (b/138314213, link em inglês)
Versão 1.1.0-alpha02
2 de julho de 2019
Lançamento de androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02. As confirmações incluídas nessa versão podem ser encontradas neste link.
Correções de bugs
Implementação dos recursos para salvar e restaurar o estado de atualização de SwipeRefreshLayout.
Correção do bug de usabilidade quando SwipeRefreshLayout é incorporado em um RecyclerView.
Versão 1.1.0-alpha01
3 de dezembro de 2018
Mudanças na API
aosp/737631 (link em inglês): SwipeRefreshLayout agora implementa NestedScrollingChild3 e NestedScrollingParent3, permitindo que pais e filhos da rolagem aninhada 3 transmitam informações da distância de rolagem aninhada consumidas por meio de SwipeRefreshLayout. Se o código do desenvolvedor atualmente modificar SwipeRefreshLayout.onNestedScroll(View, int, int, int, int, int), ele provavelmente não será mais chamado e SwipeRefreshLayout.onNestedScroll(View, int, int, int, int, int, int[]) precisará ser modificado. Da mesma forma, SwipeRefreshLayout.dispatchNestedScroll(int, int, int, int, int[], int) provavelmente não será mais chamado, e SwipeRefreshLayout.dispatchNestedScroll(int, int, int, int, int[], int, int[]) será modificado.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[null,null,["Última atualização 2025-07-27 UTC."],[],[],null,["# Swiperefreshlayout\n==================\n\n[Code Sample](https://github.com/android/views-widgets-samples) \nAPI Reference \n[androidx.swiperefreshlayout.widget](/reference/kotlin/androidx/swiperefreshlayout/widget/package-summary) \nImplement the swipe-to-refresh UI pattern. \n\n| Latest Update | Stable Release | Release Candidate | Beta Release | Alpha Release |\n|-------------------|--------------------------------------------------------------|-------------------|----------------------------------------------------------------------------|---------------|\n| February 12, 2025 | [1.1.0](/jetpack/androidx/releases/swiperefreshlayout#1.1.0) | - | [1.2.0-beta01](/jetpack/androidx/releases/swiperefreshlayout#1.2.0-beta01) | - |\n\nDeclaring dependencies\n----------------------\n\nTo add a dependency on SwipeRefreshLayout, you must add the Google Maven repository to your\nproject. Read [Google's Maven repository](/studio/build/dependencies#google-maven)\nfor more information.\n\nAdd the dependencies for the artifacts you need in the `build.gradle` file for\nyour app or module: \n\n### Groovy\n\n```groovy\ndependencies {\n implementation \"androidx.swiperefreshlayout:swiperefreshlayout:1.1.0\"\n}\n```\n\n### Kotlin\n\n```kotlin\ndependencies {\n implementation(\"androidx.swiperefreshlayout:swiperefreshlayout:1.1.0\")\n}\n```\n\nFor more information about dependencies, see [Add build dependencies](/studio/build/dependencies).\n\nFeedback\n--------\n\nYour feedback helps make Jetpack better. Let us know if you discover new issues or have\nideas for improving this library. Please take a look at the\n[existing issues](https://issuetracker.google.com/issues?q=componentid:460836%20status:open)\nin this library before you create a new one. You can add your vote to an existing issue by\nclicking the star button.\n\n[Create a new issue](https://issuetracker.google.com/issues/new?component=460836&template=1422576)\n\nSee the [Issue Tracker documentation](https://developers.google.com/issue-tracker)\nfor more information.\n\nVersion 1.2.0\n-------------\n\n### Version 1.2.0-beta01\n\nFebruary 12, 2025\n\n`androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-beta01` is released. Version 1.2.0-beta01 contains [these commits](https://android.googlesource.com/platform/frameworks/support/+log/9f60cc700129e30cee9df020005c317fb39d32ec..7344269b2d862d014a647efafcd7735f0d53f1da/swiperefreshlayout/swiperefreshlayout).\n\n**API Changes**\n\n- Specified nullability of `SwipeRefreshLayout` method parameters and return types ([I006d1](https://android-review.googlesource.com/#/q/I006d15100662ca77db65dd0cf4735c65cee84dfd), [b/236497776](https://issuetracker.google.com/issues/236497776))\n\n**Bug Fixes**\n\n- This library now uses [JSpecify nullness annotations](https://jspecify.dev/), which are type-use. Kotlin developers should use the following compiler argument to enforce correct usage: `-Xjspecify-annotations=strict` (this is the default starting with version 2.1.0 of the Kotlin compiler). ([Iaf490](https://android-review.googlesource.com/#/q/Iaf49080833b450a7dbba982367bfd863a2ead6ad), [b/326456246](https://issuetracker.google.com/issues/326456246))\n\n### Version 1.2.0-alpha01\n\nJuly 22, 2020\n\n`androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01` is released. [Version 1.2.0-alpha01 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/6b97b146b743340c9d9b6fa54e735404374f2a5f..9f60cc700129e30cee9df020005c317fb39d32ec/swiperefreshlayout/swiperefreshlayout)\n\n**Bug Fixes**\n\n- `requestDisallowInterceptTouchEvent(boolean)` now honors the request like any other ViewGroup. While strongly discouraged, new behavior can be disabled with `setLegacyRequestDisallowInterceptTouchEventEnabled`. ([I968da](https://android-review.googlesource.com/#/q/I968da769d8400caf6f52c8a12595ee19fb4c0773), [b/141855018](https://issuetracker.google.com/issues/141855018))\n\nVersion 1.1.0\n-------------\n\n### Version 1.1.0\n\nJune 24, 2020\n\n`androidx.swiperefreshlayout:swiperefreshlayout:1.1.0` is released. [Version 1.1.0 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/6563b7854e79a3f7182efe27ee726867a091b603..6b97b146b743340c9d9b6fa54e735404374f2a5f/swiperefreshlayout/swiperefreshlayout)\n\n**Major changes since 1.0.0**\n\n- `SwipeRefreshLayout` now implements `NestedScrollingChild3` and `NestedScrollingParent3`.\n\n### Version 1.1.0-rc01\n\nApril 15, 2020\n\n`androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-rc01` is released with no changes since `1.1.0-beta01`. [Version 1.1.0-rc01 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/666ae665acfcfa2a20eccc18e4494808169742f4..6563b7854e79a3f7182efe27ee726867a091b603/swiperefreshlayout/swiperefreshlayout)\n\n### Version 1.1.0-beta01\n\nMarch 4, 2020\n\n`androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-beta01` is released with no changes since `1.1.0-alpha03`. [Version 1.1.0-beta01 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/f14ad350142290622d1645e1d0e280cbe8ca4c2f..666ae665acfcfa2a20eccc18e4494808169742f4/swiperefreshlayout/swiperefreshlayout)\n\n### Version 1.1.0-alpha03\n\nOctober 9, 2019\n\n`androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha03` is released. [Version 1.1.0-alpha03 contains these commits](https://android.googlesource.com/platform/frameworks/support/+log/9a7b3cb32a2c7adac9b7af4bc2f996f1eb79fc12..f14ad350142290622d1645e1d0e280cbe8ca4c2f/swiperefreshlayout).\n\n**New features**\n\n- We have a new style attribute `R.styleable.SwipeRefreshLayout_swipeRefreshLayoutProgressSpinnerBackgroundColor`to set the background color of the progress indicator. ([aosp/931124](https://android-review.googlesource.com/931124))\n\n**API changes**\n\n- `requestDisallowInterceptTouchEvent(boolean)` now always propagates up to its parents. While strongly discouraged, new behavior can be disabled with `setLegacyRequestDisallowInterceptTouchEventEnabled`. ([aosp/1108540](https://android-review.googlesource.com/1108540))\n\n**Bug fixes**\n\n- Fixed issue with nested scrolling where SwipeRefreshLayout has a scrollable parent (e.g. [ViewPager2](/jetpack/androidx/releases/viewpager2)) and a scrollable child. ([b/138314213](https://issuetracker.google.com/issues/138314213))\n\n### Version 1.1.0-alpha02\n\nJuly 2, 2019\n\n`androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02` is released. The commits included in this version can be found [here](https://android.googlesource.com/platform/frameworks/support/+log/d9ca300b3f70db75744a6d743f85e3784287434a..9a7b3cb32a2c7adac9b7af4bc2f996f1eb79fc12/swiperefreshlayout).\n| **Note:** This version is dependent on the Java 8 programming language. Please read [Use Java 8 language features](/studio/write/java8-support) to learn how to use it in your project.\n\n**Bug fixes**\n\n- Implemented saving and restoring of the refreshing state of SwipeRefreshLayout\n- Fixed usability bug when SwipeRefreshLayout is embedded in a RecyclerView\n\n### Version 1.1.0-alpha01\n\nDecember 3, 2018\n\n**API changes**\n\n- [aosp/737631](): `SwipeRefreshLayout` now implements `NestedScrollingChild3` and `NestedScrollingParent3`, enabling nested scrolling 3 parents and children to pass consumed nested scrolling distance information through `SwipeRefreshLayout`. If developer code currently overrides `SwipeRefreshLayout.onNestedScroll(View, int, int, int, int, int)`, it will likely no longer be called and `SwipeRefreshLayout.onNestedScroll(View, int, int, int, int, int, int[])` should be overridden instead. Likewise, `SwipeRefreshLayout.dispatchNestedScroll(int, int, int, int, int[], int)` will likely no longer be called and `SwipeRefreshLayout.dispatchNestedScroll(int, int, int, int, int[], int, int[])` should be overridden instead."]]