1
나는 지속적으로 줌을 구현하는 방법을 찾고 있습니다. 지속적으로 나는 한 위치로 확대하고 그 위치에서 다른 위치로 확대하고 싶다는 뜻입니다. 브라우저에서와 같이.Android : 지속적으로 줌 기능을 구현하는 방법
지금까지 내 aproach는 한 번만 확대/축소하고 다음 번까지 재설정 할 수 있습니다.
먼저 손가락 사이의 중간 지점과 중간 손가락 사이의 거리를 계산합니다.
public boolean onTouchEvent(MotionEvent event) {
if(mode == ZOOM) {
float newDist = spacing(event);
scale = newDist/oldDist;
midPoint(midPoint, event);
invalidate();
}
invalidate 메소드는 매트릭스에 스케일링을 수행하는 onDraw를 호출합니다.
protected void onDraw(Canvas canvas) {
matrix = canvas.getMatrix();
matrix.postScale(scale, scale, midPoint.x, midPoint.y);
canvas.setMatrix(matrix);
// drawing code
}
누적 된 aproach가 있습니까?
아니요 애니메이션을 갖고 싶지 않습니다. 제 질문은 터치 이벤트에 관한 것입니다. 줌은 원터치 제스처로 멈추고 다른 지점에서 다음으로 이동해야하지만 pdf 뷰어와 같은 마지막 줌 레벨로 계속 진행해야합니다. – strangeoptics