El patrón de deslizar para actualizar la interfaz de usuario se implementa completamente dentro del
SwipeRefreshLayout
, que detecta el deslizamiento vertical, muestra una barra de progreso distintiva y activa la devolución de llamada
en tu app. Para habilitar este comportamiento, agrega el widget a tu archivo de diseño como elemento superior de
una ListView
o
GridView
y, luego, implementa el
comportamiento de actualización que se invoca cuando el usuario desliza el dedo
En esta página, se muestra cómo agregar el widget a un diseño existente. También se muestra cómo agregar una actualización acción en el área ampliada de la barra de acciones para que los usuarios que no puedan usar el gesto de deslizar puedan activar una actualización manual con un dispositivo externo.
Cómo agregar la dependencia deSwipeRefreshLayout
Para usar SwipeRefreshLayout
en tu app, agrega la siguiente dependencia a tu
Archivo build.gradle
:
Groovy
dependencies { implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01" }
Kotlin
dependencies { implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01") }
Cómo agregar el widget de SwipeRefreshLayout
Para agregar el widget de deslizar para actualizar a una app existente, agrega SwipeRefreshLayout
como el
superior de un solo ListView
o GridView
.
SwipeRefreshLayout
solo admite un único elemento ListView
o
GridView
hijo/a.
En el siguiente ejemplo, se muestra cómo agregar el widget SwipeRefreshLayout
a una
archivo de diseño existente que contiene 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>
También puedes usar el widget de SwipeRefreshLayout
con una
ListFragment
Si el botón
contiene un ListView
con el ID "@android:id/list"
, el
la funcionalidad de deslizar para actualizar se admite automáticamente. Sin embargo, si declaras explícitamente
De esta manera, ListView
reemplaza la estructura de vistas ListFragment
predeterminada. Si
Si deseas usar la estructura de vistas predeterminada, anula partes de SwipeRefreshLayout
.
y ListFragment
.
Cómo agregar una acción de actualizar a la barra de acciones
Agrega una acción de actualización a la barra de acciones de tu app para que los usuarios que no puedan realizar gestos de deslizamiento puedan activar una actualización manual. Por ejemplo, los usuarios con necesidades de accesibilidad pueden activar acciones de la barra de acciones. con dispositivos externos, como teclados y pads direccionales.
Agrega la acción de actualizar como un elemento de menú, en lugar de como un botón. Para ello, configura el atributo
android:showAsAction=never
Si muestras la acción como un botón, los usuarios podrían suponer
la acción del botón para actualizar es diferente de la acción de deslizar para actualizar. Cómo realizar la acción de actualizar
menos visible en la barra de acciones, alienta a los usuarios a realizar actualizaciones manuales con gestos de deslizamiento
y, al mismo tiempo, mantener la opción accesible
donde los usuarios de pads direccionales la buscan.
En el siguiente código, se muestra cómo agregar la acción de deslizar para actualizar al área ampliada:
<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>