如何知道RecyclerView是否有足够的内容滚动?

目前我正在使用带有LinearLayout Manager的RecyclerView和作为HeaderView的EditText来过滤列表的内容。

如果RecyclerView的内容小于RecyclerView本身,我想隐藏EditText。

如果其内容可以滚动,有没有办法“询问”Recyclerview或LayoutManager?

谢谢你们。

当最后位置的项目完全可见时, RecyclerView不再滚动。

在听起来如下的情况下:

 mRecyclerView.getLayoutManager().findLastCompletelyVisibleItemPosition() == mRecyclerViewAdapter.getItemCount() - 1; 

你的意思是这个:

https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager.html#canScrollVertically()

 if(recyclerView.getLayoutManager().canScrollVertically()){ // do stuff } else{ // do other stuff } 

答案也考虑了动态屏幕尺寸。

 mRecyclerView.getViewTreeObserver().addOnScrollChangedListener(() -> { if (mRecyclerView.canScrollVertically(1) && //still scrolling mRecyclerView.computeVerticalScrollRange() >= mRecyclerView.getHeight()) { //Big enough for scrolling return; //we still scrolling so early out. } DoMyFunction(); }