我有一个复杂的布局,在Recycler View中使用。所以我想知道什么时候显示一些特定的视图,比如标题TextView。
此RecyclerView位于ViewPager中。因此,只有在显示ViewPager的子项时才需要回调。
这样,我想要已经显示了RecycleView项目的分析。
我该如何实现这一目标?是否有相同的回调方法?或者我只需要为View添加layoutChangeListener或addOnGlobalLayoutListener,并通过检查该视图的Rect来检查该特定View是否显示。
试试这种方式:
private static int firstVisibleInListview; firstVisibleInListview = yourLayoutManager.findFirstVisibleItemPosition();
在您的滚动侦听器中:
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
int currentFirstVisible = yourLayoutManager.findFirstVisibleItemPosition();
if (currentFirstVisible > firstVisibleInListview) {
Log.i("RecyclerView scrolled: ", "scroll up!");
} else {
Log.i("RecyclerView scrolled: ", "scroll down!");
}
firstVisibleInListview = currentFirstVisible;
}
与您可以获得最后一个可见项目相同。
谢谢