Android SwipeRefreshLayout на RecyclerView с обратным макетом

Я использую RecyclerView внутри SwipeRefreshLayout в Android.

<android.support.v4.widget.SwipeRefreshLayout
    android:id="@+id/mySwipeRefresh"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1">

    <RecyclerView
        android:id="@+id/myRecyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

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

В этом RecyclerView я использую LinearLayoutManager с обратной компоновкой и стеком с конца:

LinearLayoutManager layoutManager = new LinearLayoutManager(mContext);
layoutManager.setReverseLayout(true);
layoutManager.setStackFromEnd(true);

myRecyclerView.setLayoutManager(layoutManager);

Итак, прокрутка содержимого начинается снизу, а элементы добавляются адаптером снизу вверх.

С этой конфигурацией я хотел бы показать SwipeRefreshLayout, когда RecyclerView находится внизу, и пользователь пытается прокрутить дальше вниз. Вместо этого в результате SwipeRefreshLayout имеет стандартное поведение и отображается сверху вниз анимацией, когда пользователь прокручивает вверх, а RecyclerView находится вверху.

Я не нашел API для этого, как я могу решить эту проблему?

Спасибо


person lubilis    schedule 11.10.2015    source источник


Ответы (1)


Я решил использовать эту библиотеку, поскольку SwipeRefreshLayout не поддерживает обратную компоновку

Обновить макет внизу

person lubilis    schedule 11.10.2015
comment
Это старая реализация, и она не будет работать с новой версией SwipeRefreshLayout. - person Ahmad Sattout; 14.07.2021