Il pattern dell'interfaccia utente mediante scorrimento per aggiornare è implementato interamente all'interno della
SwipeRefreshLayout
che rileva lo scorrimento verticale, mostra una barra di avanzamento distintiva e attiva il callback
di classificazione nella tua app. Attiva questo comportamento aggiungendo il widget al file di layout come principale
un ListView
o
GridView
e implementazione
un comportamento di aggiornamento richiamato quando l'utente scorre.
Questa pagina mostra come aggiungere il widget a un layout esistente. Viene inoltre spiegato come aggiungere un aggiornamento un'azione sull'area di overflow della barra delle azioni in modo che gli utenti che non possono utilizzare il gesto di scorrimento possano attivare un'azione aggiornamento manuale con un dispositivo esterno.
Aggiungi dipendenza SlideRefreshLayout
Per usare SwipeRefreshLayout
nella tua app, aggiungi la seguente dipendenza a
build.gradle
file:
Alla moda
dependencies { implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01" }
Kotlin
dependencies { implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01") }
Aggiungi il widget SwipeRefreshLayout
Per aggiungere il widget di aggiornamento tramite scorrimento a un'app esistente, aggiungi SwipeRefreshLayout
come
principale di un singolo ListView
o GridView
.
SwipeRefreshLayout
supporta un solo ListView
o
GridView
figlio.
L'esempio seguente mostra come aggiungere il widget SwipeRefreshLayout
a un
file di layout esistente contenente un 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>
Puoi anche usare il widget SwipeRefreshLayout
con un
ListFragment
. Se
contiene un elemento ListView
con ID "@android:id/list"
,
la funzionalità di scorrimento per aggiornare è supportata automaticamente. Tuttavia, dichiarare in modo esplicito
In questo modo, ListView
sostituisce la struttura di visualizzazione ListFragment
predefinita. Se
vuoi utilizzare la struttura di visualizzazione predefinita, sostituisci parti di SwipeRefreshLayout
e ListFragment
.
Aggiungere un'azione di aggiornamento alla barra delle azioni
Aggiungi un'azione di aggiornamento alla barra delle azioni dell'app in modo che gli utenti che non possono eseguire i gesti di scorrimento possano attivare un aggiornamento manuale. Ad esempio, gli utenti con esigenze di accessibilità possono attivare le azioni della barra delle azioni usando dispositivi esterni, come tastiere e D-pad.
Aggiungi l'azione di aggiornamento come voce di menu, anziché come pulsante, impostando l'attributo
android:showAsAction=never
. Se visualizzi l'azione sotto forma di pulsante, gli utenti potrebbero presumere
l'azione del pulsante di aggiornamento è diversa da quella del pulsante di scorrimento. Esecuzione dell'azione di aggiornamento
meno visibile nella barra delle azioni, incoraggia gli utenti a eseguire aggiornamenti manuali con i gesti di scorrimento
mantenendo l'opzione accessibile dove gli utenti del D-pad la cercano.
Il codice seguente mostra come aggiungere l'azione scorrimento per aggiornare all'area di overflow:
<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>