好的,现在我知道这个问题似乎有一个明显的答案,但 setX 和 setY 函数确实有什么问题,为什么它们不能按预期工作。我正在尝试在应用程序运行到某些位置时动态移动视图。它们在我的带有 mdp 的测试设备上运行良好,但是当我使用具有不同密度值的设备时一切都会改变。Y 轴总是偏离一个恒定值,并且没有这不是填充或边距问题,我什至尝试将其除以context.getResources().getDisplayMetrics().density;
考虑密度差异,但它也不起作用。最后我在这篇文章中使用了答案并且它有效,但我仍然遇到其他密度设备的问题。这就是它的建议:
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
//WRAP_CONTENT param can be FILL_PARENT
params.leftMargin = 206; //XCOORD
params.topMargin = 206; //YCOORD
childView.setLayoutParams(params);
那么有人可以告诉我为什么会这样吗?setX 和 setY 应该让它更容易......对吗?请如果我只是说没有意义,你可以为我解决这个问题,我会非常感激,我最近尝试了一切!