我正在制作Android应用程序,使用ImageView在屏幕上显示相机图像(经过一些操作之后),我希望允许在屏幕上移动其他ImageView - 但只能在父ImageView中移动。如何获取相对于Android中另一个视图的视图位置?
此外,我需要获取相对于父ImageView坐标的子视图的坐标。即 - (0,0)不会是整个屏幕,而是显示相机的ImageView。
这可能吗?如果是这样 - 如何?
非常感谢帮助!谢谢
我正在制作Android应用程序,使用ImageView在屏幕上显示相机图像(经过一些操作之后),我希望允许在屏幕上移动其他ImageView - 但只能在父ImageView中移动。如何获取相对于Android中另一个视图的视图位置?
此外,我需要获取相对于父ImageView坐标的子视图的坐标。即 - (0,0)不会是整个屏幕,而是显示相机的ImageView。
这可能吗?如果是这样 - 如何?
非常感谢帮助!谢谢
如果你想通过拖动这里的大量信息来移动视图,例如Moving image with touch events。
获取minorView
的顶部和左侧相对于majorView
的情况如何,通过一些简单的减法minorViewRelativeTop = minorViewTop - majorViewTop
也很简单。使用View.getLocationInWindow()获取这些绝对位置。
N.B.那View.getLocationInWindow()
通常不会在Activity.onCreate()
里面工作,所以最好在延迟后再调用它。为了测试它可以被某事像:
majorView.postDelayed(new Runnable() {
@Override
public void run() {
int[] location = new int[2];
majorView.getLocationInWindow(location);
int majorViewLeft = location[0];
int majorViewTop = location[1];
}
}, 1000);
坐标将始终基于ParentView – Triode 2013-04-11 12:53:33
但不可能把一个ImageView的一个ImageView的内部 - 所以我不能得到相对坐标? – Roman 2013-04-11 12:55:28
你想实现什么? – Triode 2013-04-11 12:56:47