Как называется эта синяя тень?
Как называется эта синяя тень, которая появляется, когда вид исчезает после того, как он заканчивается? слушатель срабатывает, когда это появляется или уходит?
Я реализовал https://github.com/maurycyw/StaggeredGridView и хочу загрузить больше элементов, когда эта группа просмотра прокручивается.
2 ответа
Это называется Overscroller.Listview
имеет встроенную поддержку для прокрутки. Проверять, выписываться setOverscrollMode
и связанные методы setOverscrollHeader
а также setOverscrollFooter
, ListView использует верхний / нижний колонтитул прокрутки путем переопределения AbsListView.onOverscrolled;
если вам нужно другое поведение, вы можете реализовать его, переопределив его самостоятельно.
К сожалению, нет готовой библиотеки или функциональности для этого. Но есть хорошая открытая библиотека, которую вы можете адаптировать.
Мое предложение проверить SwipeRefreshLayout
находится в библиотеке поддержки Android.
Эта ViewGroup поддерживает прокрутку сверху, чтобы дать обратный вызов, вы, вероятно, можете адаптировать ее для реализации прокрутки снизу.
документы: https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html
редактировать: альтернативно, чтобы реализовать load more
Функция со слушателем прокрутки относительно проста, это просто OnScrollListener
со следующим кодом:
private long lastRequestTime = 0;
public void onScroll (AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount){
if (((firstVisibleItem+visibleItemCount) > totalItemCount - 4) &&
(lastRequestTime + 1000 < System.currentTimeMillis())) {
lastRequestTime = System.currentTimeMillis();
// load more ...
}
}