滑動以重新整理使用者介面模式完全實作於 SwipeRefreshLayout
小工具中,可偵測垂直滑動動作、顯示獨特的進度列,並在應用程式中觸發回呼方法。如要啟用這項行為,請將小工具新增至版面配置檔案,做為 ListView
或 GridView
的父項,並實作使用者滑動時會觸發的重新整理行為。
本頁說明如何將小工具新增至現有版面配置。本節也說明如何在動作列溢位區新增重新整理動作,讓無法使用滑動手勢的使用者可以透過外部裝置觸發手動更新。
新增 SwipeRefreshLayout 依附元件
如要在應用程式中使用 SwipeRefreshLayout
,請在 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
搭配使用。如果版面配置包含 ID 為 "@android:id/list"
的 ListView
,系統就會自動支援滑動重新整理功能。不過,以這種方式明確宣告 ListView
會取代預設的 ListFragment
檢視畫面結構。如果您想使用預設的檢視畫面結構,請覆寫 SwipeRefreshLayout
和 ListFragment
行為的部分。
在動作列中新增重新整理動作
請在應用程式的動作列中新增重新整理動作,讓無法執行滑動手勢的使用者能夠觸發手動更新。舉例來說,有無障礙需求的使用者可以使用外部裝置 (例如鍵盤和方向鍵盤) 觸發動作列動作。
設定屬性 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>