Android Ajouter un diviseur à RecyclerView


Exemple

Tout d'abord, vous devez créer une classe qui étend RecyclerView.ItemDecoration :

public class SimpleBlueDivider extends RecyclerView.ItemDecoration {
private Drawable mDivider;

public SimpleBlueDivider(Context context) {
    mDivider = context.getResources().getDrawable(R.drawable.divider_blue);
}

@Override
public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) {
    //divider padding give some padding whatever u want or disable
    int left =parent.getPaddingLeft()+80;
    int right = parent.getWidth() - parent.getPaddingRight()-30;

    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);
    }
}

}

Ajoutez divider_blue.xml à votre dossier pouvant être dessiné:

<?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="4dp" />
<solid android:color="#AA123456" />
</shape>

Ensuite, utilisez-le comme:

recyclerView.addItemDecoration(new SimpleBlueDivider(context));

Le résultat sera comme:

entrer la description de l'image ici

Cette image est juste un exemple du fonctionnement des diviseurs, si vous souhaitez suivre les spécifications de conception des matériaux lors de l'ajout de séparateurs, consultez ce lien: diviseurs et remerciements @Brenden Kromhout en fournissant un lien.