الگوی رابط کاربری تند کشیدن برای بازخوانی به طور کامل در ویجت 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>