Aktualisieren durch Wischen in App hinzufügen

Das Muster der Benutzeroberfläche durch Wischen zum Aktualisieren wird vollständig im SwipeRefreshLayout Widget, das vertikales Wischen erkennt, eine charakteristische Fortschrittsanzeige anzeigt und einen Callback auslöst in Ihrer App an. Aktivieren Sie dieses Verhalten, indem Sie das Widget Ihrer Layoutdatei als übergeordnetes Element von ListView oder GridView und Implementieren des Aktualisierungsverhalten, das beim Wischen durch den Nutzer ausgelöst wird.

Auf dieser Seite wird beschrieben, wie Sie das Widget einem vorhandenen Layout hinzufügen. Es wird auch gezeigt, wie eine Aktualisierung hinzugefügt wird. Aktion in den Überlaufbereich für die Aktionsleiste ein, sodass Nutzer, die die Wischgeste nicht verwenden können, eine mit einem externen Gerät manuell aktualisieren.

SwipeRefreshLayout-Abhängigkeit hinzufügen

Um SwipeRefreshLayout in Ihrer App zu verwenden, fügen Sie die folgende Abhängigkeit zu Ihrem build.gradle-Datei:

Cool

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

Kotlin

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

SwipeRefreshLayout-Widget hinzufügen

Wenn Sie das Widget zum Aktualisieren durch Wischen zu einer vorhandenen App hinzufügen möchten, fügen Sie SwipeRefreshLayout als das Übergeordnetes Element eines einzelnen ListView- oder GridView-Elements. SwipeRefreshLayout unterstützt nur ein einzelnes ListView- oder GridView Kind.

Das folgende Beispiel zeigt, wie Sie das SwipeRefreshLayout-Widget einem vorhandene Layoutdatei mit einem 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>

Sie können das SwipeRefreshLayout-Widget auch mit einem ListFragment. Wenn die Das Layout enthält ein ListView mit der ID "@android:id/list", dem Die Funktion zum Aktualisieren durch Wischen wird automatisch unterstützt. Die explizite Deklaration des ListView hat somit Vorrang vor der standardmäßigen ListFragment-Ansichtsstruktur. Wenn Wenn Sie die Standardansichtsstruktur verwenden möchten, überschreiben Sie Teile von SwipeRefreshLayout und ListFragment-Verhalten.

Aktualisierungsaktion zur Aktionsleiste hinzufügen

Fügen Sie der Aktionsleiste Ihrer App eine Aktualisierungsaktion hinzu, damit Nutzer, die keine Wischgesten ausführen können, manuelles Update auslösen. So können Nutzer, die Bedienungshilfen benötigen, Aktionen in der Aktionsleiste auslösen. wie Tastaturen oder Steuerkreuze.

Fügen Sie die Aktualisierungsaktion als Menüelement und nicht als Schaltfläche hinzu, indem Sie das Attribut android:showAsAction=never Wird die Aktion als Schaltfläche angezeigt, nehmen Nutzende möglicherweise an, Die Aktion der Schaltfläche zum Aktualisieren unterscheidet sich von der Aktion zum Aktualisieren durch Wischen. Aktualisierung durchführen weniger auffällig in der Aktionsleiste, durch die Nutzer dazu ermutigt werden, manuelle Updates mit Wischgesten auszuführen und gleichzeitig die barrierefreie Option für die Suche nach dem Steuerkreuz beibehalten.

Der folgende Code zeigt, wie Sie die Aktion zum Aktualisieren durch Wischen zum Überlaufbereich hinzufügen:

<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>