תבנית ממשק המשתמש של החלקה לרענון מיושמת במלואה בווידג'ט 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.
הוספת פעולת רענון לסרגל הפעולות
מוסיפים פעולת רענון לסרגל הפעולות של האפליקציה, כדי שמשתמשים שלא יכולים לבצע תנועות החלקה יוכלו להפעיל עדכון ידני. לדוגמה, משתמשים עם צרכי נגישות יכולים להפעיל פעולות בסרגל הפעולות באמצעות מכשירים חיצוניים, כמו מקלדות ומשטחי D.
כדי להוסיף את פעולת הרענון כפריט בתפריט ולא כלחצן, מגדירים את המאפיין
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>