Simple Horizontal Divider Item Decoration for RecyclerView
    mRecyclerView.addItemDecoration(new SimpleDividerItemDecoration(
            getApplicationContext()
    	));
NOTE: Add item decoration prior to setting the adapter
| <?xml version="1.0" encoding="utf-8"?> | |
| <shape xmlns:android="http://schemas.android.com/apk/res/android" | |
| android:shape="rectangle"> | |
| <size | |
| android:width="1dp" | |
| android:height="1dp" /> | |
| <solid android:color="@color/dark_gray" /> | |
| </shape> | 
| public class SimpleDividerItemDecoration extends RecyclerView.ItemDecoration { | |
| private Drawable mDivider; | |
| public SimpleDividerItemDecoration(Context context, @DrawableRes int divider) { | |
| mDivider = ContextCompat.getDrawable(context, divider); | |
| } | |
| @Override | |
| public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) { | |
| int left = parent.getPaddingLeft(); | |
| int right = parent.getWidth() - parent.getPaddingRight(); | |
| int childCount = parent.getChildCount(); | |
| for (int i = 0; i < childCount; i++) { | |
| View child = parent.getChildAt(i); | |
| RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams(); | |
| int top = child.getBottom() + params.bottomMargin; | |
| int bottom = top + mDivider.getIntrinsicHeight(); | |
| mDivider.setBounds(left, top, right, bottom); | |
| mDivider.draw(c); | |
| } | |
| } | |
| } |