RecyclerView ItemDecoration onDraw

时间:2014-12-22 18:14:38

标签: android android-recyclerview

RecyclerView.ItemDecoration的规范说不推荐使用onDraw(Canvas c, RecyclerView parent)。相反,他们会说要覆盖onDraw(Canvas, RecyclerView, RecyclerView.State)

但是,我不明白我应该将哪种状态对象传递给此方法。我看到State通过RecyclerView的方法内部传递,例如: onLayoutChildren scrollVerticallyBy onFocusSearchFailed 。但我没有看到以编程方式使用State对象传递给 onDraw 方法的示例。有没有人对此有任何意见?

1 个答案:

答案 0 :(得分:2)

OnDraw()将由RecyclerView调用并设置正确的状态,您无需亲自调用它。此外,建议改为覆盖onDrawOver()的{​​{1}}。

在RecyclerView项目之间绘制分隔线的装饰示例:https://gist.github.com/alexfu/0f464fc3742f134ccd1e