Establecer margen en RecyclerView mediante programación

Necesito fijar el margen superior en un RecyclerView programmatically, pero consigo esta excepción:

java.lang.RuntimeException: Unable to resume activity java.lang.ClassCastException: android.view.ViewGroup$LayoutParams cannot be cast to android.support.v7.widget.RecyclerView$LayoutParams

Aquí está mi código:

 RecyclerView.LayoutParams layoutParams = (RecyclerView.LayoutParams)recyclerView.getLayoutParams(); int marginTopDp = (int)getResources().getDimension(R.dimen.margin); int marginTopPx = (int) (marginTopDp * getResources().getDisplayMetrics().density + 0.5f); layoutParams.setMargins(0, marginTopPx, 0, 0); recyclerView.setLayoutParams(layoutParams); 

Si utilizo ViewGroup.LayoutParams layoutParams = recyclerView.getLayoutParams como sugiere la traza de pila, no puedo llamar a setMargin ya que ese método no existe para ViewGroup.LayoutParams .

Cualquier ayuda sería apreciada.

Probar esto. Puede consultar esto para más información.

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

Necesitas usar un nuevo objeto de 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(); 
  • Recycler view Array index otof bound Incossitency Error mientras SwipetoRefresh y reciclador desplazándose al mismo tiempo
  • (Smooth) ScrollToPosition no funciona correctamente con RecyclerView
  • Decoración de artículos Proguard y RecyclerView
  • Tools: text para artículos de RecyclerView
  • Problemas para recrear listas de diseño de materiales con licencia en Android
  • RecyclerView: ¿Cómo simular el selector de dibujo de ListView en la parte superior?
  • Adición de elementos al reciclado sin fin con RecyclerView con un reciclado ReverseLayout
  • Centrar un CardView en un RecyclerView con un solo elemento
  • ¿Cómo usar ButterKnife OnItemClick con RecyclerView?
  • Haga clic en un elemento de la lista RecyclerView
  • GridLayoutManager spanSizeLookup error
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.