Saltar al contenido

Android pull to refresh

Actualizar la actividad de Android

Antes de entrar en el ejemplo, debemos saber lo que es Pull to refresh layout en android. podemos llamar pull to refresh en android como swipe-to-refresh. cuando se desliza la pantalla de arriba a abajo se hará alguna acción basada en setOnRefreshListener. Este ejemplo demuestra acerca de cómo implementar androide tire para refrescar.Paso 1 – Crear un nuevo proyecto en Android Studio, vaya a Archivo ⇒ Nuevo Proyecto y llenar todos los detalles necesarios para crear un nuevo proyecto.Paso 2 – Agregue el siguiente código a res/layout/activity_main.xml.<?xml version = «1.0» encoding = «utf-8»?>

</android.support.v4.widget.SwipeRefreshLayout>En el código anterior hemos dado swipeRefreshLayout como diseño de los padres, cuando el usuario swipe diseño, puede actualizar la vista del niño.Paso 3 – Añadir el siguiente código a src/MainActivity.javapackage com.example.andy.myapplication;

});Vamos a intentar ejecutar su aplicación. Asumo que has conectado tu dispositivo móvil Android actual con tu ordenador. Para ejecutar la aplicación desde android studio, abre uno de los archivos de actividad de tu proyecto y haz clic en el icono Ejecutar de la barra de herramientas. Seleccione su dispositivo móvil como una opción y, a continuación, compruebe su dispositivo móvil que mostrará su pantalla por defecto -En el resultado anterior muestra la pantalla inicial, ahora deslice de arriba a abajo se actualizará textview como se muestra a continuación -Haga clic aquí para descargar el código del proyecto

Desliza el dedo hacia abajo para actualizar la vista web androide

El acompañante SwipeRefresh ha sido reemplazado por PullRefresh en Compose Material 1.3.0. La implementación es similar pero en lugar de ser una función componible, es un modificador que se puede aplicar a una función componible.

El contenido debe ser «desplazable verticalmente» para que SwipeRefresh() pueda reaccionar a los gestos de deslizamiento. Los diseños como LazyColumn son automáticamente desplazables verticalmente, pero otros como Column o LazyRow no lo son. En esos casos, puedes proporcionar un modificador Modifier.verticalScroll a ese contenido de esta manera:

La biblioteca proporciona un indicador por defecto: SwipeRefreshIndicator(), que SwipeRefresh utiliza automáticamente. Puedes personalizar el indicador por defecto, e incluso proporcionar tu propio contenido de indicador utilizando la ranura del indicador.

Como se ha mencionado, también puedes proporcionar tu propio contenido de indicador personalizado. Se proporciona un SwipeRefreshState a la ranura de contenido del indicador, que contiene la información necesaria para reaccionar a un gesto de actualización de deslizamiento.

Cómo detener el diseño de actualización de swipe

Establecer overscroll-behaviour: contain deshabilita que el scroll se transfiera a las áreas vecinas – es decir, el over-scroll está contenido dentro del propio elemento. Establecer esto en <body> evitará que el sobre-desplazamiento se pase al navegador, y por lo tanto evitará la acción de pull-to-refresh.

Esto contendrá el comportamiento de sobre-desplazamiento tanto horizontal como verticalmente. Sin embargo, el pull-to-refresh ocurre verticalmente, y en algunos casos nos gustaría tener el comportamiento de sobredesplazamiento por defecto en la dirección horizontal (la página puede tener algún deslizador o carrusel que tenga eventos de deslizamiento izquierda-derecha).

Desactivar el diseño de actualización de swipe android

Anteriormente solíamos implementar una vista de deslizamiento personalizada para detectar el deslizamiento hacia abajo, pero ahora android ha hecho nuestro trabajo más fácil mediante la introducción de SwipeRefreshLayout en android.support.v4 para detectar el deslizamiento vertical en cualquier vista. Se utiliza principalmente con ListView o RecyclerView donde tenemos una lista de datos obtenida del servidor y necesitamos actualizarla para obtener nuevos registros.

ArrayList personNames = new ArrayList<>(Arrays.asList(«Persona 1», «Persona 2», «Persona 3», «Persona 4», «Persona 5», «Persona 6», «Persona 7», «Persona 8», «Persona 9», «Persona 10», «Persona 11», «Persona 12», «Persona 13», «Persona 14»));

ArrayList personImages = new ArrayList<>(Arrays.asList(R.drawable.person1, R.drawable.person2, R.drawable.person3, R.drawable.person4, R.drawable.person5, R.drawable. person6, R.drawable.person7, R.drawable.person1, R.drawable.person2, R.drawable.person3, R.drawable.person4, R.drawable.person5, R.drawable.person6, R.drawable.person7));