了解视图是否在其适配器的回收器视图中完全可见

Know whether a view is completely visible in a recycler view from its adapter

我看到很多帖子在回收站视图中显示了当前完全可见的项目,但是,来自 activity。但是,我想从适配器中了解这一点。如果视图完全可见,我想开始播放视频,当它隐藏时,我想停止它。

你必须设置 LayoutManager for RecyclerView. if you are using most common LinearLayoutManager,然后它有一些方法可以满足你的目的:

  • findFirstCompletelyVisibleItemPosition()
  • findFirstVisibleItemPosition()
  • findLastCompletelyVisibleItemPosition()
  • findLastVisibleItemPosition()

StaggeredGridLayoutManager, e.g. findFirstVisibleItemPositions

中也有类似的方法

一般的方法是使用裸 LayoutManager 及其 isViewPartiallyVisible 方法,但这可能需要更多的代码来处理特定的用例