เพิ่มการปัดเพื่อรีเฟรชลงในแอปของคุณ

รูปแบบอินเทอร์เฟซผู้ใช้แบบปัดเพื่อรีเฟรชมีการใช้งานทั้งหมดภายใน SwipeRefreshLayout วิดเจ็ตที่จะตรวจจับการปัดในแนวตั้ง แสดงแถบความคืบหน้าที่โดดเด่น และจะเรียกใช้ Callback ในแอปของคุณ เปิดใช้ลักษณะการทำงานนี้โดยเพิ่มวิดเจ็ตลงในไฟล์เลย์เอาต์ของคุณเป็นระดับบนสุดของ ListView หรือ GridView และติดตั้งใช้งาน ลักษณะการรีเฟรชที่ระบบเรียกใช้เมื่อผู้ใช้ปัด

หน้านี้แสดงวิธีเพิ่มวิดเจ็ตในเลย์เอาต์ที่มีอยู่ รวมถึงแสดงวิธีเพิ่มการรีเฟรชด้วย การดำเนินการไปยังพื้นที่ที่ตกขอบของแถบการทำงานเพื่อให้ผู้ใช้ที่ไม่สามารถใช้ท่าทางสัมผัสการปัดสามารถเรียกใช้ อัปเดตด้วยตนเองกับอุปกรณ์ภายนอก

เพิ่มการขึ้นต่อกันของ ScrollLayout

หากต้องการใช้ SwipeRefreshLayout ในแอปของคุณ ให้เพิ่มทรัพยากร Dependency ต่อไปนี้ใน ไฟล์ build.gradle:

ดึงดูด

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

Kotlin

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

เพิ่มวิดเจ็ต เลื่อนการรีเฟรชเลย์เอาต์

หากต้องการเพิ่มวิดเจ็ตแบบปัดเพื่อรีเฟรชลงในแอปที่มีอยู่ ให้เพิ่ม 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>