Android 基于坐标设置内部视图的最佳布局是什么

Android 基于坐标设置内部视图的最佳布局是什么,android,android-layout,Android,Android Layout,哪种布局支持基于(x,y)坐标设置其内部/包含视图,我查看了AbsoluteLayout,但发现它已被弃用,因为API 3。。。我知道绝对布局不推荐背后的原因,但在我的情况下,这不是问题,也是必需的 对于不同的手机屏幕,绝对布局更难维护 尺寸比其他类型的布局更大,因为我们设置了 子视图或称为组件。定位基于x(顶部) 和y(左)坐标,那个位置在世界上并没有那个么有用 各种屏幕分辨率(大小)和纵横比 附言:如果我唯一的选择是RelativeLayout或FrameLayout(通过更新子页边距),知

哪种布局支持基于(x,y)坐标设置其内部/包含视图,我查看了AbsoluteLayout,但发现它已被弃用,因为API 3。。。我知道绝对布局不推荐背后的原因,但在我的情况下,这不是问题,也是必需的

对于不同的手机屏幕,绝对布局更难维护 尺寸比其他类型的布局更大,因为我们设置了 子视图或称为组件。定位基于x(顶部) 和y(左)坐标,那个位置在世界上并没有那个么有用 各种屏幕分辨率(大小)和纵横比


附言:如果我唯一的选择是RelativeLayout或FrameLayout(通过更新子页边距),知道用户通过按下并重新定位来控制子视图/包含视图的位置,如何以最有效的方式实现这一点?

我建议您使用
FrameLayout
并根据触摸坐标设置子视图的动画,不要触摸视图的边距

最简单的方法是通过调用
animate()
使用
View
的内置
ViewPropertyAnimator
。您可以通过调用以下命令来转换视图:

view.animate().translateX(xCoord).translateY(yCoord).setDuration(0).start()
在每一个触摸动作上


当坐标变化过快时,会出现一些不平稳的移动。检查此库以获得触摸时的平滑动画:

您也可以使用
setTranslationX
setTranslationY