รูปแบบอินเทอร์เฟซผู้ใช้แบบปัดเพื่อรีเฟรชจะติดตั้งใช้งานทั้งหมดภายในวิดเจ็ต SwipeRefreshLayout
ซึ่งจะตรวจจับการปัดในแนวตั้ง แสดงแถบความคืบหน้าที่โดดเด่น และเรียกใช้เมธอดการเรียกกลับในแอปของคุณ เปิดใช้ลักษณะการทํางานนี้โดยเพิ่มวิดเจ็ตลงในไฟล์เลย์เอาต์ในฐานะรายการหลักของ ListView
หรือ GridView
และใช้ลักษณะการรีเฟรชที่เรียกใช้เมื่อผู้ใช้ปัด
หน้านี้จะแสดงวิธีเพิ่มวิดเจ็ตลงในเลย์เอาต์ที่มีอยู่ นอกจากนี้ ยังแสดงวิธีเพิ่มการดําเนินการรีเฟรชไปยังพื้นที่รายการเพิ่มเติมของแถบการดำเนินการเพื่อให้ผู้ใช้ที่ใช้ท่าทางสัมผัสการปัดไม่ได้สามารถเรียกใช้การอัปเดตด้วยตนเองโดยใช้อุปกรณ์ภายนอก
เพิ่มการพึ่งพา SwipeRefreshLayout
หากต้องการใช้ SwipeRefreshLayout
ในแอป ให้เพิ่ม Dependency ต่อไปนี้ลงในไฟล์ build.gradle
Groovy
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
หากคุณแสดงการดําเนินการเป็นปุ่ม ผู้ใช้อาจคิดว่าการดําเนินการของปุ่มรีเฟรชแตกต่างจากการดําเนินการปัดเพื่อรีเฟรช การทำให้การดำเนินการรีเฟรชดูไม่โดดเด่นในแถบการดำเนินการจะกระตุ้นให้ผู้ใช้อัปเดตด้วยตนเองด้วยท่าทางสัมผัสการปัด ขณะเดียวกันก็ยังคงตัวเลือกที่เข้าถึงได้ไว้สำหรับผู้ใช้ที่มองหาตัวเลือกนี้ด้วยปุ่ม 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>