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