إضافة تمرير سريع لإعادة التحميل إلى تطبيقك

تجربة طريقة "الكتابة"
‫Jetpack Compose هي مجموعة أدوات واجهة المستخدم المقترَحة لنظام التشغيل Android. تعرَّف على كيفية التحديث عن طريق السحب في Compose.

يتم تنفيذ نمط واجهة المستخدم "التمرير سريعًا لإعادة التحميل" بالكامل داخل الأداة SwipeRefreshLayout، التي ترصد التمرير السريع عموديًا، وتعرض شريط تقدم مميزًا، وتفعّل طرق معاودة الاتصال في تطبيقك. يمكنك تفعيل هذا السلوك عن طريق إضافة الأداة إلى ملف التصميم كعنصر رئيسي للعنصر ListView أو GridView وتنفيذ سلوك إعادة التحميل الذي يتم استدعاؤه عندما يمرّر المستخدم سريعًا.

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

إضافة اعتمادية SwipeRefreshLayout

لاستخدام SwipeRefreshLayout في تطبيقك، أضِف التبعية التالية إلى ملف build.gradle:

أنيق

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

Kotlin

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

إضافة أداة SwipeRefreshLayout

لإضافة التطبيق المصغّر "السحب لإعادة التحميل" إلى تطبيق حالي، أضِف SwipeRefreshLayout كعنصر رئيسي لعنصر ListView أو GridView واحد. لا يمكن أن يحتوي SwipeRefreshLayout إلا على عنصر فرعي واحد من النوع ListView أو GridView.

يوضّح المثال التالي كيفية إضافة الأداة SwipeRefreshLayout إلى ملف تنسيق حالي يحتوي على ListView:

<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/swiperefresh"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

يمكنك أيضًا استخدام التطبيق المصغّر SwipeRefreshLayout مع ListFragment. إذا كان التنسيق يحتوي على ListView بالمعرّف "@android:id/list"، ستكون وظيفة "السحب لإعادة التحميل" متاحة تلقائيًا. ومع ذلك، فإنّ تعريف ListView بهذه الطريقة بشكل صريح يلغي بنية العرض التلقائية ListFragment. إذا أردت استخدام بنية العرض التلقائية، يمكنك تجاوز أجزاء من سلوك SwipeRefreshLayout وListFragment.

إضافة إجراء إعادة تحميل إلى شريط الإجراءات

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

أضِف إجراء إعادة التحميل كعنصر قائمة بدلاً من زر، وذلك من خلال ضبط السمة android:showAsAction=never. إذا عرضت الإجراء كزر، قد يفترض المستخدمون أنّ إجراء زر إعادة التحميل يختلف عن إجراء السحب لإعادة التحميل. إنّ جعل إجراء إعادة التحميل أقل وضوحًا في شريط الإجراءات يشجّع المستخدمين على إجراء عمليات تحديث يدوية باستخدام إيماءات التمرير السريع، مع الحفاظ على الخيار الذي يمكن الوصول إليه حيث يبحث عنه مستخدمو لوحة التحكّم الاتجاهية.

يوضّح الرمز التالي كيفية إضافة إجراء السحب للأسفل من أجل إعادة التحميل إلى منطقة القائمة الكاملة:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/menu_refresh"
        android:showAsAction="never"
        android:title="@string/menu_refresh"/>
</menu>