2017-01-23 1 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

나는 결국 상대방 레이아웃 컨테이너를 두 이미지에 추가 한 다음 컨테이너에 터치 리스너를 설정했습니다. 이렇게하면 두 이미지가 동시에 크기가 조정되고 변환됩니다.

관련 문제