RecyclerView.ItemDecoration

abstract class RecyclerView.ItemDecoration

Known direct subclasses
DividerItemDecoration

DividerItemDecoration is a RecyclerView.ItemDecoration that can be used as a divider between items of a LinearLayoutManager.

ItemTouchHelper

This is a utility class to add swipe to dismiss and drag &drop support to RecyclerView.


An ItemDecoration allows the application to add a special drawing and layout offset to specific item views from the adapter's data set. This can be useful for drawing dividers between items, highlights, visual grouping boundaries and more.

All ItemDecorations are drawn in the order they were added, before the item views (in onDraw() and after the items (in onDrawOver.

Summary

Public constructors

Public functions

Unit
getItemOffsets(outRect: Rect, itemPosition: Int, parent: RecyclerView)

This function is deprecated.

Use getItemOffsets

Unit
getItemOffsets(
    outRect: Rect,
    view: View,
    parent: RecyclerView,
    state: RecyclerView.State
)

Retrieve any offsets for the given item.

Unit
onDraw(c: Canvas, parent: RecyclerView)

This function is deprecated.

Override onDraw

Unit
onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State)

Draw any appropriate decorations into the Canvas supplied to the RecyclerView.

Unit

This function is deprecated.

Override onDrawOver

Unit

Draw any appropriate decorations into the Canvas supplied to the RecyclerView.

Public constructors

ItemDecoration

Added in 1.0.0
ItemDecoration()

Public functions

getItemOffsets

Added in 1.0.0
Deprecated in 1.0.0
fun getItemOffsets(outRect: Rect, itemPosition: Int, parent: RecyclerView): Unit

getItemOffsets

Added in 1.0.0
fun getItemOffsets(
    outRect: Rect,
    view: View,
    parent: RecyclerView,
    state: RecyclerView.State
): Unit

Retrieve any offsets for the given item. Each field of outRect specifies the number of pixels that the item view should be inset by, similar to padding or margin. The default implementation sets the bounds of outRect to 0 and returns.

If this ItemDecoration does not affect the positioning of item views, it should set all four fields of outRect (left, top, right, bottom) to zero before returning.

If you need to access Adapter for additional data, you can call getChildAdapterPosition to get the adapter position of the View.

Parameters
outRect: Rect

Rect to receive the output.

view: View

The child view to decorate

parent: RecyclerView

RecyclerView this ItemDecoration is decorating

state: RecyclerView.State

The current state of RecyclerView.

onDraw

Added in 1.0.0
Deprecated in 1.0.0
fun onDraw(c: Canvas, parent: RecyclerView): Unit

onDraw

Added in 1.0.0
fun onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State): Unit

Draw any appropriate decorations into the Canvas supplied to the RecyclerView. Any content drawn by this method will be drawn before the item views are drawn, and will thus appear underneath the views.

Parameters
c: Canvas

Canvas to draw into

parent: RecyclerView

RecyclerView this ItemDecoration is drawing into

state: RecyclerView.State

The current state of RecyclerView

onDrawOver

Added in 1.0.0
Deprecated in 1.0.0
fun onDrawOver(c: Canvas, parent: RecyclerView): Unit

onDrawOver

Added in 1.0.0
fun onDrawOver(c: Canvas, parent: RecyclerView, state: RecyclerView.State): Unit

Draw any appropriate decorations into the Canvas supplied to the RecyclerView. Any content drawn by this method will be drawn after the item views are drawn and will thus appear over the views.

Parameters
c: Canvas

Canvas to draw into

parent: RecyclerView

RecyclerView this ItemDecoration is drawing into

state: RecyclerView.State

The current state of RecyclerView.