Swiperefreshlayout

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

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

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

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

Groovy

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

Kotlin

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

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

الملاحظات

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

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

يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.

الإصدار 1.2.0

الإصدار 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

نيسان (أبريل) 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[]).