В настоящее время я использую следующий код, чтобы проверить, разрешено ли SwipeRefreshLayout.Как узнать, прокручивается ли RecyclerView/LinearLayoutManager сверху или снизу?
private void laySwipeToggle() {
if (mRecyclerView.getChildCount() == 0 || mRecyclerView.getChildAt(0).getTop() == 0) {
mLaySwipe.setEnabled(true);
} else {
mLaySwipe.setEnabled(false);
}
}
Но вот в чем проблема. Когда она прокручивается границы зрения другого элемента в mRecyclerView.getChildAt(0).getTop()
также возвращает 0.
Есть ли что-то вроде RecyclerView.isScrolledToBottom()
или RecyclerView.isScrolledToTop()
?
EDIT: (mRecyclerView.getChildAt(0).getTop() == 0 && linearLayoutManager.findFirstVisibleItemPosition() == 0)
вид RecyclerView.isScrolledToTop()
, но как насчет RecyclerView.isScrolledToBottom()
?
Я полагаю, что последний может быть достигнуто путем проверки в нижней части recyclerview против последнего ребенка то есть что-то на линиях mRecyclerView.getBottom() == linearLayoutmanager.findViewbyPosition (adapter.getItemCount() - 1) .getBottom() – humblerookie
@Saren Arterius вы можете взглянуть на [это] (http://stackoverflow.com/a/33515549/1118886) –