如何一起移动和缩放图像

时间:2017-01-23 17:06:23

标签: android imageview touch scale

我希望用户能够将两个图像缩放和缩放,同时将它们保持在彼此正确的相对位置。我通过在其中一个图像上使用缩放手势检测器,然后将手势扩展到另一个图像来完成此操作。我的问题是,虽然我可以让图像一起移动,但一旦我尝试缩放第二张图像,翻译就会大大减少。他们的某些东西是在我不知道的缩放时发生的吗? 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]);

1 个答案:

答案 0 :(得分:0)

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