DividerItemDecoration
public
class
DividerItemDecoration
extends RecyclerView.ItemDecoration
java.lang.Object | ||
↳ | androidx.recyclerview.widget.RecyclerView.ItemDecoration | |
↳ | androidx.recyclerview.widget.DividerItemDecoration |
DividerItemDecoration is a RecyclerView.ItemDecoration
that can be used as a divider
between items of a LinearLayoutManager
. It supports both HORIZONTAL
and
VERTICAL
orientations.
mDividerItemDecoration = new DividerItemDecoration(recyclerView.getContext(), mLayoutManager.getOrientation()); recyclerView.addItemDecoration(mDividerItemDecoration);
Summary
Constants | |
---|---|
int |
HORIZONTAL
|
int |
VERTICAL
|
Public constructors | |
---|---|
DividerItemDecoration(Context context, int orientation)
Creates a divider |
Public methods | |
---|---|
Drawable
|
getDrawable()
|
void
|
getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state)
Retrieve any offsets for the given item. |
void
|
onDraw(Canvas c, RecyclerView parent, RecyclerView.State state)
Draw any appropriate decorations into the Canvas supplied to the RecyclerView. |
void
|
setDrawable(Drawable drawable)
Sets the |
void
|
setOrientation(int orientation)
Sets the orientation for this divider. |
Inherited methods | |
---|---|
Constants
HORIZONTAL
public static final int HORIZONTAL
Constant Value: 0 (0x00000000)
VERTICAL
public static final int VERTICAL
Constant Value: 1 (0x00000001)
Public constructors
DividerItemDecoration
public DividerItemDecoration (Context context, int orientation)
Creates a divider RecyclerView.ItemDecoration
that can be used with a
LinearLayoutManager
.
Parameters | |
---|---|
context |
Context : Current context, it will be used to access resources. |
orientation |
int : Divider orientation. Should be HORIZONTAL or VERTICAL .
|
Public methods
getItemOffsets
public void getItemOffsets (Rect outRect, View view, RecyclerView parent, RecyclerView.State state)
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
RecyclerView.getChildAdapterPosition(View)
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
public void onDraw (Canvas c, RecyclerView parent, RecyclerView.State state)
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
|
setDrawable
public void setDrawable (Drawable drawable)
Sets the Drawable
for this divider.
Parameters | |
---|---|
drawable |
Drawable : Drawable that should be used as a divider.
|
setOrientation
public void setOrientation (int orientation)
Sets the orientation for this divider. This should be called if
RecyclerView.LayoutManager
changes orientation.
Parameters | |
---|---|
orientation |
int : HORIZONTAL or VERTICAL
|