Cómo corregir recrear mediante progtwigción Layout

Tengo un layout principal con muchos viewgroup. Intento get todas las vistas elemento y agregar a mi layout personalizado. Pero cuando bash hacerlo, no todos los elementos en su position

private fun onStartGravity(context: Context, viewGroup: ViewGroup) { val parent = viewGroup.parent as ViewGroup parent.removeView(viewGroup) newGroup = MyRelativeLayout(context) initCustomViewGroup(context, viewGroup) viewArrayList.forEach { newGroup?.addView(it, it.layoutParams) } parent.addView(newGroup, viewGroup.layoutParams)} 

Mi function initCustomViewGroup

 private fun initCustomViewGroup(context: Context, viewGroup: View): View { if (viewGroup !is ViewGroup) { viewArrayList.add(viewGroup) Log.d("TAG", "oldX = " + viewGroup.x + " oldY = " + viewGroup.y) return viewGroup } while (viewGroup.childCount > 0) { val childView = viewGroup.getChildAt(0) viewGroup.removeView(childView) initCustomViewGroup(context, childView) } return View(context) } 

Cuando creo las coorderadas de layout personalizadas xey de la misma manera, pero en la pantalla, todos los inspectores diferentes y de layout muestran diferentes valores de xey