Untuk menambahkan dependensi pada SwipeRefreshLayout, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.
Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:
Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai
masukan untuk meningkatkan kualitas library ini. Harap periksa
masalah yang sudah diketahui
dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan
mengklik tombol bintang.
androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-beta01 dirilis. Versi 1.2.0-beta01 berisi commit ini.
Perubahan API
Menentukan nullability parameter metode dan jenis nilai yang ditampilkan SwipeRefreshLayout (I006d1, b/236497776)
Perbaikan Bug
Library ini kini menggunakan anotasi nullness JSpecify, yang merupakan penggunaan jenis. Developer Kotlin harus menggunakan argumen compiler berikut untuk menerapkan penggunaan yang benar: -Xjspecify-annotations=strict (ini adalah default yang dimulai dengan compiler Kotlin versi 2.1.0). (Iaf490, b/326456246)
requestDisallowInterceptTouchEvent(boolean) sekarang memenuhi permintaan seperti ViewGroup lainnya. Meskipun sangat tidak disarankan, perilaku baru tersebut dapat dinonaktifkan dengan setLegacyRequestDisallowInterceptTouchEventEnabled. (I968da, b/141855018)
Kami memiliki atribut gaya baru R.styleable.SwipeRefreshLayout_swipeRefreshLayoutProgressSpinnerBackgroundColor untuk menetapkan warna latar belakang indikator progres. (aosp/931124)
Perubahan API
requestDisallowInterceptTouchEvent(boolean) sekarang akan selalu menyebar hingga ke induknya. Meskipun sangat tidak disarankan, perilaku baru tersebut dapat dinonaktifkan dengan setLegacyRequestDisallowInterceptTouchEventEnabled. (aosp/1108540)
Perbaikan bug
Memperbaiki masalah scroll bersarang saat SwipeRefreshLayout memiliki induk yang dapat di-scroll (misalnya: ViewPager2) dan turunan yang dapat di-scroll. (b/138314213)
Versi 1.1.0-alpha02
2 Juli 2019
androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.
Perbaikan bug
Mengimplementasikan penyimpanan dan pemulihan status muat ulang SwipeRefreshLayout
Memperbaiki bug kegunaan saat SwipeRefreshLayout disematkan ke dalam RecyclerView
Versi 1.1.0-alpha01
3 Desember 2018
Perubahan API
aosp/737631: SwipeRefreshLayout sekarang mengimplementasikan NestedScrollingChild3 dan NestedScrollingParent3 sehingga 3 induk dan turunan nested scrolling dapat meneruskan informasi jarak nested scrolling yang digunakan melalui SwipeRefreshLayout. Jika kode developer saat ini mengganti SwipeRefreshLayout.onNestedScroll(View, int, int, int, int, int), kode tersebut mungkin tidak akan dipanggil lagi dan SwipeRefreshLayout.onNestedScroll(View, int, int, int, int, int, int[]) harus diganti. Demikian juga, SwipeRefreshLayout.dispatchNestedScroll(int, int, int, int, int[], int) mungkin tidak akan dipanggil lagi dan SwipeRefreshLayout.dispatchNestedScroll(int, int, int, int, int[], int, int[]) harus diganti.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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."]]