Set Margin on RecyclerView programmatically Set Margin on RecyclerView programmatically android android

Set Margin on RecyclerView programmatically


Try this out. You can refer to this for more info.

ViewGroup.MarginLayoutParams marginLayoutParams = new ViewGroup.MarginLayoutParams(mRecyclerView.getLayoutParams());marginLayoutParams.setMargins(0, 10, 0, 10);mRecyclerView.setLayoutParams(marginLayoutParams);


for me, the parent of recyclerview is a constraintLayout,

        val margins = (rv.layoutParams as ConstraintLayout.LayoutParams).apply {        leftMargin = 0        rightMargin = 0    }    rv.layoutParams = margins

or it will get cast error, viewGroup.LayoutParams can't be cast to COnstarintLayout.LayoutParams


You need use new object of MargingLayoutParams

    final FrameLayout.MarginLayoutParams marginLayoutParams = new                            FrameLayout.MarginLayoutParams(rvContacts.getLayoutParams());    marginLayoutParams.leftMargin = left;    marginLayoutParams.topMargin = top;    marginLayoutParams.rightMargin = right;    marginLayoutParams.bottomMargin = bottom;    recyclerView.setLayoutParams(marginLayoutParams);    recyclerView.requestLayout();