Derzeit verwende ich den folgenden Code, um zu überprüfen, ob SwipeRefreshLayout aktiviert werden sollte.Wie kann man feststellen, ob ein RecyclerView/LinearLayoutManager nach oben oder unten gescrollt wird?
private void laySwipeToggle() {
if (mRecyclerView.getChildCount() == 0 || mRecyclerView.getChildAt(0).getTop() == 0) {
mLaySwipe.setEnabled(true);
} else {
mLaySwipe.setEnabled(false);
}
}
Aber hier ist das Problem. Wenn es um ein anderes Element der Ansicht der Grenze gescrollt ist mRecyclerView.getChildAt(0).getTop()
kehrt auch 0.
Gibt es so etwas wie RecyclerView.isScrolledToBottom()
oder RecyclerView.isScrolledToTop()
?
EDIT: (mRecyclerView.getChildAt(0).getTop() == 0 && linearLayoutManager.findFirstVisibleItemPosition() == 0)
Art von tut die RecyclerView.isScrolledToTop()
, aber was ist mit RecyclerView.isScrolledToBottom()
?
Ich nehme diese kann durch die Überprüfung der Unterseite des recyclerview gegen das letzte Kind also etwas auf den Linien von mRecyclerView.getBottom() == linearLayoutmanager.findViewbyPosition (adapter.getItemCount() erreicht werden - 1) .getBottom() – humblerookie
@Saren Arterius möchten Sie vielleicht einen Blick auf [this] werfen (http://stackoverflow.com/a/33515549/1118886) –