Swiperefreshlayout

Реализуйте шаблон пользовательского интерфейса «обновление страницы с помощью свайпа».
Последнее обновление Стабильный релиз Предварительная версия релиза Бета-версия Альфа-версия
3 декабря 2025 г. 1.2.0 - - -

Объявление зависимостей

Чтобы добавить зависимость от SwipeRefreshLayout, необходимо добавить репозиторий Google Maven в ваш проект. Для получения дополнительной информации ознакомьтесь с информацией в репозитории Google Maven .

Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:

классный

dependencies {
    implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.2.0"
}

Котлин

dependencies {
    implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.2.0")
}

Для получения дополнительной информации о зависимостях см. раздел «Добавление зависимостей сборки» .

Обратная связь

Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.

Создать новую задачу

Для получения более подробной информации см. документацию по системе отслеживания ошибок .

Версия 1.2.0

Версия 1.2.0

3 декабря 2025 г.

Выпущена версия androidx.swiperefreshlayout:swiperefreshlayout:1.2.0 . Версия 1.2.0 содержит следующие коммиты .

Важные изменения по сравнению с версией 1.1.0:

Исправлены ошибки

  • Если значок обновления уже был убран, просто полностью удалите стрелку, чтобы ее тень не отображалась. ( 5350ff , b/186557635 )
  • Значок обновления должен сбрасывать свое положение и все свои свойства после удаления, чтобы при повторном отображении он находился в правильном состоянии. Ранее стрелка прогресса скрывалась, но остальное состояние не сбрасывалось. ( 766241 , b/190379246 )
  • requestDisallowInterceptTouchEvent(boolean) теперь обрабатывает запрос так же, как и любой другой ViewGroup . Хотя это крайне не рекомендуется, новое поведение можно отключить с помощью setLegacyRequestDisallowInterceptTouchEventEnabled . ( I968da , b/141855018 )

Версия 1.2.0-rc01

19 ноября 2025 г.

Выпущена версия androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-rc01 . Версия 1.2.0-rc01 содержит следующие коммиты .

Версия 1.2.0-beta01

12 февраля 2025 г.

Выпущена версия androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-beta01 . Версия 1.2.0-beta01 содержит следующие коммиты .

Изменения в API

  • Указана возможность обнуления параметров и типов возвращаемых значений метода SwipeRefreshLayout ( I006d1 , b/236497776 )

Исправлены ошибки

  • В этой библиотеке теперь используются аннотации JSpecify, определяющие наличие нулевого значения , которые относятся к использованию типов. Разработчикам Kotlin следует использовать следующий аргумент компилятора для обеспечения корректного использования: -Xjspecify-annotations=strict (это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin). ( Iaf490 , b/326456246 )

Версия 1.2.0-alpha01

22 июля 2020 г.

Выпущена версия androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01 . Версия 1.2.0-alpha01 содержит следующие коммиты.

Исправлены ошибки

  • requestDisallowInterceptTouchEvent(boolean) теперь обрабатывает запрос так же, как и любой другой ViewGroup. Хотя это крайне не рекомендуется, новое поведение можно отключить с помощью setLegacyRequestDisallowInterceptTouchEventEnabled . ( I968da , b/141855018 )

Версия 1.1.0

Версия 1.1.0

24 июня 2020 г.

Выпущена версия androidx.swiperefreshlayout:swiperefreshlayout:1.1.0 . Версия 1.1.0 содержит следующие коммиты.

Значительные изменения с версии 1.0.0

  • Теперь SwipeRefreshLayout реализует NestedScrollingChild3 и NestedScrollingParent3 .

Версия 1.1.0-rc01

15 апреля 2020 г.

androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-rc01 выпущен без изменений по сравнению с 1.1.0-beta01 . Версия 1.1.0-rc01 содержит следующие коммиты.

Версия 1.1.0-beta01

4 марта 2020 г.

androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-beta01 выпущен без изменений по сравнению с 1.1.0-alpha03 . Версия 1.1.0-beta01 содержит следующие коммиты.

Версия 1.1.0-alpha03

9 октября 2019 г.

Выпущена версия androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha03 . Версия 1.1.0-alpha03 содержит следующие коммиты .

Новые функции

  • У нас появился новый атрибут стиля R.styleable.SwipeRefreshLayout_swipeRefreshLayoutProgressSpinnerBackgroundColor для установки цвета фона индикатора выполнения. ( aosp/931124 )

изменения API

  • Теперь requestDisallowInterceptTouchEvent(boolean) всегда распространяется на родительские элементы. Хотя это крайне не рекомендуется, новое поведение можно отключить с помощью setLegacyRequestDisallowInterceptTouchEventEnabled . ( aosp/1108540 )

Исправлены ошибки

  • Исправлена ​​проблема с вложенной прокруткой, когда SwipeRefreshLayout имеет прокручиваемый родительский элемент (например, ViewPager2 ) и прокручиваемый дочерний элемент. ( b/138314213 )

Версия 1.1.0-alpha02

2 июля 2019 г.

Выпущена версия androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02 . Список изменений, включенных в эту версию, можно найти здесь .

Исправлены ошибки

  • Реализовано сохранение и восстановление состояния обновления SwipeRefreshLayout.
  • Исправлена ​​ошибка удобства использования при встраивании SwipeRefreshLayout в RecyclerView.

Версия 1.1.0-alpha01

3 декабря 2018 г.

изменения API

  • aosp/737631 : SwipeRefreshLayout теперь реализует NestedScrollingChild3 и NestedScrollingParent3 , что позволяет вложенным родительским и дочерним элементам с прокруткой 3 передавать информацию о пройденном расстоянии через SwipeRefreshLayout . Если в коде разработчика в настоящее время переопределяется SwipeRefreshLayout.onNestedScroll(View, int, int, int, int, int) , он, вероятно, больше не будет вызываться, и вместо него следует переопределить SwipeRefreshLayout.onNestedScroll(View, int, int, int, int, int, int[]) . Аналогично, SwipeRefreshLayout.dispatchNestedScroll(int, int, int, int, int[], int) скорее всего, больше не будет производиться, и вместо него следует переопределить SwipeRefreshLayout.dispatchNestedScroll(int, int, int, int, int[], int, int[]) .