如何更正以编程方式重新创建布局

我有一个与许多视图组的主要布局。 我尝试获取所有视图元素,并添加到我的自定义布局。 但是,当我试图做到这一点,并不是所有的元素在他们的位置

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值