2017-01-23 69 views
0

我希望用户能够将两个图像缩放并放在一起,同时保持它们相互之间的正确相对位置。我通过在其中一个图像上使用缩放手势检测器来做到这一点,然后将手势扩展到其他图像。我的问题是,虽然我可以让图像一起移动,但只要我尝试缩放第二张图像,翻译就会彻底关闭。他们在缩放时发生的事情我不知道? info.parentPreCoords变量设置在缩放手势检测器的开头,在对父级(基础图像)进行任何更改之前。如何一起移动和缩放图像

int[] childPreCoords = new int[2]; 
view.getLocationInWindow(childPreCoords); 

float[] differencePre = new float[]{-info.parentPreCoords[0] + view.getX(), 
       -info.parentPreCoords[1] + view.getY()}; 


int[] parentPostCoords = new int[2]; 
info.parent.getLocationInWindow(parentPostCoords); 


float[] differencePost = new float[]{info.parent.getX() + 
       (scale * (differencePre[0])), 
info.parent.getY() + (scale * differencePre[1])}; 


view.setScaleX(scale); 
view.setScaleY(scale); 


view.setX(differencePost[0]); 
view.setY(differencePost[1]); 

回答

0

我最终做的是在两个图像中添加相对布局容器,然后在容器上设置触摸侦听器。这样可以同时缩放和转换两个图像。