당신이 물어 본 지 꽤 오래되었지만 비슷한 문제가있어서 해결하는데 오랜 시간이 걸리므로 다른 사람이이 문제에 걸려 들기를 바랍니다. 대신에 ... 방법의 ...
scaleDetector = new ScaleGestureDetector(context, new ScaleGestureListener());
는 뷰 그룹이기 때문에, 파견를 오버라이드 (override) : 나는 GridLayout과 클래스를 확장하고 생성자에서
private class ScaleGestureListener
extends ScaleGestureDetector.SimpleOnScaleGestureListener
의 인스턴스를 접선 결국
@Override
public boolean dispatchTouchEvent(MotionEvent ev){
scaleDetector.onTouchEvent(ev);
super.dispatchTouchEvent(ev);
return true;
}
@Override
public void dispatchDraw(Canvas canvas) {
String disp = String.valueOf(mScaleFactor);
Log.v(TAG, "dispatch draw " + disp);
canvas.save();
// i have some other stuff in here specific to my app
canvas.scale(mScaleFactor, mScaleFactor);
super.dispatchDraw(canvas);
canvas.restore();
}
HorizontalScrollview 안에 gridview를 놓으십시오. 실제로 이것은 권장 사항이 아니지만 시도하고 싶다면 ..... –