在應用程式中加入滑動重新整理功能

滑動重新整理使用者介面模式完全在 SwipeRefreshLayout 小工具,會偵測垂直滑動的情形、顯示獨特的進度列,並觸發回呼 擷取哪些方法將小工具新增至版面配置檔案做為 ListViewGridView 並導入 使用者滑動時叫用的重新整理行為。

本頁說明如何將小工具新增至現有的版面配置。此外,它還會顯示如何新增重新整理 新增到動作列溢位區域,讓無法使用滑動手勢的使用者觸發 手動更新。

新增 wipeRefreshLayout 依附元件

如要在應用程式中使用 SwipeRefreshLayout,請將以下依附元件新增至 build.gradle 檔案:

Groovy

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

Kotlin

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

新增滑動重新整理版面配置小工具

如要在現有應用程式中加入滑動重新整理小工具,請將 SwipeRefreshLayout 新增為 單一 ListViewGridView 的父項。 SwipeRefreshLayout 僅支援單一 ListViewGridView 位兒童。

以下範例說明如何將 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, 系統會自動支援滑動重新整理功能。不過,您可以明確宣告 以這種方式取代預設的 ListFragment 檢視畫面結構。ListView如果 如果您想使用預設檢視區塊結構,請覆寫 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>