Buscar..


Sintaxis

  1. setColorSchemeResources establece los colores del indicador SwipeToRefreshLayout
  2. setOnRefreshListener establece qué hacer cuando se desliza el diseño
  3. app: layout_behavior = "@ string / appbar_scrolling_view_behavior" si tiene una barra de herramientas con su diseño, agregue esto con scrollflags en la barra de herramientas y la barra de herramientas se deslizará hacia arriba mientras se desplaza hacia abajo y se desliza hacia arriba mientras se desplaza hacia arriba.

Deslizar para actualizar con RecyclerView

Para agregar un diseño de Swipe To Refresh con un RecyclerView, agregue lo siguiente a su archivo de diseño de Actividad / Fragmento:

<android.support.v4.widget.SwipeRefreshLayout
    android:id="@+id/refresh_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:scrollbars="vertical" />

</android.support.v4.widget.SwipeRefreshLayout>

En su Actividad / Fragmento, agregue lo siguiente para inicializar SwipeToRefreshLayout :

    SwipeRefreshLayout mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.refresh_layout);
    mSwipeRefreshLayout.setColorSchemeResources(R.color.green_bg,
            android.R.color.holo_green_light,
            android.R.color.holo_orange_light,
            android.R.color.holo_red_light);

    mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
        @Override
        public void onRefresh() {
            // Execute code when refresh layout swiped
        }
    });

Cómo agregar Swipe-to-Refresh a tu aplicación

Asegúrese de que la siguiente dependencia se agregue al archivo build.gradle su aplicación en las dependencias:

compile 'com.android.support:support-core-ui:24.2.0'

Luego agrega el SwipeRefreshLayout en tu diseño:

<android.support.v4.widget.SwipeRefreshLayout
        android:id="@+id/swipe_refresh_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

     <!-- place your view here -->       

</android.support.v4.widget.SwipeRefreshLayout>

Finalmente, implemente el oyente SwipeRefreshLayout.OnRefreshListener .

mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh_layout);
mSwipeRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
    @Override
    public void onRefresh() {
         // your code
    }
});


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow