RecyclerView.ItemDecoration的规范说不推荐使用onDraw(Canvas c, RecyclerView parent)
。相反,他们会说要覆盖onDraw(Canvas, RecyclerView, RecyclerView.State)
。
但是,我不明白我应该将哪种状态对象传递给此方法。我看到State通过RecyclerView的方法内部传递,例如: onLayoutChildren , scrollVerticallyBy 和 onFocusSearchFailed 。但我没有看到以编程方式使用State对象传递给 onDraw 方法的示例。有没有人对此有任何意见?
答案 0 :(得分:2)
OnDraw()
将由RecyclerView
调用并设置正确的状态,您无需亲自调用它。此外,建议改为覆盖onDrawOver()
的{{1}}。
在RecyclerView项目之间绘制分隔线的装饰示例:https://gist.github.com/alexfu/0f464fc3742f134ccd1e