تند کشیدن برای بازخوانی را به برنامه خود اضافه کنید

الگوی رابط کاربری تند کشیدن برای بازخوانی به طور کامل در ویجت SwipeRefreshLayout پیاده سازی شده است، که کش رفتن عمودی را تشخیص می دهد، نوار پیشرفت متمایز را نمایش می دهد و روش های برگشت به تماس را در برنامه شما فعال می کند. این رفتار را با افزودن ویجت به فایل طرح‌بندی خود به‌عنوان والد ListView یا GridView و اجرای رفتار تازه‌سازی که هنگام کشیدن انگشت کاربر فراخوانی می‌شود، فعال کنید.

این صفحه نحوه افزودن ویجت را به یک طرح بندی موجود نشان می دهد. همچنین نشان می‌دهد که چگونه می‌توان یک اقدام تازه‌سازی را به ناحیه سرریز نوار کنش اضافه کرد تا کاربرانی که نمی‌توانند از حرکت تند کشیدن استفاده کنند، بتوانند به‌روزرسانی دستی را با یک دستگاه خارجی راه‌اندازی کنند.

وابستگی SwipeRefreshLayout را اضافه کنید

برای استفاده از SwipeRefreshLayout در برنامه خود، وابستگی زیر را به فایل build.gradle خود اضافه کنید:

شیار

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

کاتلین

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 را لغو کنید.

یک اکشن تازه سازی را به نوار اقدام اضافه کنید

یک اقدام به‌روزرسانی را به نوار عملکرد برنامه خود اضافه کنید تا کاربرانی که نمی‌توانند حرکات کشیدن انگشت را انجام دهند، بتوانند به‌روزرسانی دستی را راه‌اندازی کنند. برای مثال، کاربرانی که نیازهای دسترسی دارند می‌توانند با استفاده از دستگاه‌های خارجی، مانند صفحه‌کلید و D-pad، اقدامات نوار کنش را فعال کنند.

با تنظیم ویژگی android:showAsAction=never ، اقدام به‌روزرسانی را به‌عنوان آیتم منو، به جای دکمه، اضافه کنید. اگر عملکرد را به صورت یک دکمه نمایش دهید، کاربران ممکن است تصور کنند که عملکرد دکمه بازخوانی با عملکرد تند کشیدن برای بازخوانی متفاوت است. کم‌رنگ‌تر کردن عمل تازه‌سازی در نوار اقدام، کاربران را تشویق می‌کند تا به‌روزرسانی‌های دستی را با حرکات کشیدن انگشت انجام دهند و در عین حال گزینه قابل دسترس را در جایی که کاربران D-pad آن را جستجو می‌کنند حفظ کنند.

کد زیر نحوه اضافه کردن عمل کش رفتن برای بازخوانی را به ناحیه سرریز نشان می دهد:

<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>