Android 如何获取嵌套滚动视图中的所有回收器视图项目视图位置(x,y)

Android 如何获取嵌套滚动视图中的所有回收器视图项目视图位置(x,y),android,canvas,Android,Canvas,我必须在recycler视图(连接recyclerview中的所有项目)的左侧绘制一条曲线。但我无法获取recyclerview项目的所有位置来开始绘制自定义视图。我尝试在onBindViewHolder中获取x,y位置,但它不起作用(我认为在nestedscrollview中,它就像tableview一样).那么,设置后如何获取recyclerview项目的所有位置 这是我必须做的屏幕截图:如果你的RecyclerView有数百个项目,你不应该将它放在NestedScrollView中,或者尝

我必须在recycler视图(连接recyclerview中的所有项目)的左侧绘制一条曲线。但我无法获取recyclerview项目的所有位置来开始绘制自定义视图。我尝试在onBindViewHolder中获取x,y位置,但它不起作用(我认为在nestedscrollview中,它就像tableview一样).那么,设置后如何获取recyclerview项目的所有位置


这是我必须做的屏幕截图:

如果你的RecyclerView有数百个项目,你不应该将它放在NestedScrollView中,或者尝试一次获取所有项目的任何度量值

原因是:RecyclerView必须一次测量所有项目的布局,这与RecyclerView的目的完全相反(需要时计算项目的布局),并导致性能非常差、非常滞后甚至冻结应用程序(如果有约1000个项目)


在您的情况下,我认为您应该尝试在每个onBindViewHolder()中绘制线的每个路径作为每个项目的一部分。如果计算每个绘图方式的逻辑不太复杂,我认为这是一个可行的解决方案,可以考虑在
OnScrollListener
中获取第一个可见项目位置和最后一个可见项目位置,如果其差异大于一,则计算可见项目位置。在您从layoutManager获取可见项目位置并从viewhi@RahulKhurana计算X,Y位置后,感谢您的回复。我尝试获取X,Y甚至视图高度,但都返回到零。有解决方案吗?。我的回收器视图位于嵌套的滚动视图btwIn中,您尝试使用哪种方法获取X,Ypositions@RahulKhurana我在onBindViewholderUse
OnScrollListener
方法中添加了它。谢谢。我将recyclerview放入嵌套视图中,因为它无法加载更多内容,只能加载7-10个项目。我无法获取所有项目的点(x,y),因为它在第一次加载嵌套滚动视图中的所有视图(还没有看到)。但是@RahulKhurana给了我一个非常有希望的解决方案。谢谢你的回复!!!