如何知道何时显示布局中的特定视图在RecyclerView中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何知道何时显示布局中的特定视图在RecyclerView中相关的知识,希望对你有一定的参考价值。
我有一个复杂的布局,在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;
}
与您可以获得最后一个可见项目相同。
谢谢
以上是关于如何知道何时显示布局中的特定视图在RecyclerView中的主要内容,如果未能解决你的问题,请参考以下文章
在Recycler视图上添加图像视图时,Android导航抽屉动画滞后/减速
如何从android studio中的recycler视图将数据添加到SQLite数据库中
在水平和垂直的recyclerview中膨胀布局,具有recycler视图的FlexboxLayout添加视图水平自动垂直