2013-04-11 108 views
0

我正在制作Android应用程序,使用ImageView在屏幕上显示相机图像(经过一些操作之后),我希望允许在屏幕上移动其他ImageView - 但只能在父ImageView中移动。如何获取相对于Android中另一个视图的视图位置?

此外,我需要获取相对于父ImageView坐标的子视图的坐标。即 - (0,0)不会是整个屏幕,而是显示相机的ImageView。

这可能吗?如果是这样 - 如何?

非常感谢帮助!谢谢

+0

坐标将始终基于ParentView – Triode 2013-04-11 12:53:33

+0

但不可能把一个ImageView的一个ImageView的内部 - 所以我不能得到相对坐标? – Roman 2013-04-11 12:55:28

+0

你想实现什么? – Triode 2013-04-11 12:56:47

回答

0

如果你想通过拖动这里的大量信息来移动视图,例如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); 
相关问题