Swiperefreshlayout

تنفيذ نمط واجهة المستخدم "السحب لإعادة التحميل"
آخر خبر الإصدار المستقر إصدار محتمل الإصدار التجريبي الإصدار الأولي
‫3 ديسمبر 2025 1.2.0 - - -

تحديد الاعتماديات

لإضافة اعتمادية على SwipeRefreshLayout، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.

أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:

Groovy

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

Kotlin

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

لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات الإصدار.

الملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى إلقاء نظرة على الـ مشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.

إنشاء مشكلة جديدة

يُرجى الاطّلاع على مستندات أداة تتبُّع المشاكل لمزيد من المعلومات.

الإصدار 1.2.0

الإصدار 1.2.0

‫03 ديسمبر 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 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • تم تحديد إمكانية قبول القيم الفارغة لمعلّمات طريقة 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)

تغييرات واجهة برمجة التطبيقات

  • تنتقل الآن 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

تغييرات واجهة برمجة التطبيقات

  • 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[]).