Как исправить воссоздание программно Макет

У меня есть основной макет со многими viewgroup. Я пытаюсь получить все элементы views и добавить в свой собственный макет. Но когда я пытаюсь это сделать, не все элементы на их позиции

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

Моя функция 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) } 

Когда я создаю собственные координаты компоновки x и y одинаково, но на экране все разные и инспектор макета показывают разные значения x и y