4
我試圖實現onscalegesturelistener。 我的問題是,SimpleOnScaleGestureListener只接收onScaleBegin事件。 其他事件未被報告。我使用的是Nexus One的測試SimpleOnScaleGestureListener只接收onScaleBegin事件
public class ZoomHandler extends SimpleOnScaleGestureListener {
public float zoom;
public ZoomHandler(float zm) {
this.zoom = zm;
}
public boolean onScale(ScaleGestureDetector arg0) {
Log.i("SCALE", "onscale " + arg0.getScaleFactor());
this.zoom *= arg0.getScaleFactor();
// Don't let the object get too small or too large.
this.zoom = Math.max(0.1f, Math.min(this.zoom, 5.0f));
return true;
}
@Override
public boolean onScaleBegin(ScaleGestureDetector arg0) {
Log.i("SCALE", "onscalebegin " + arg0.getScaleFactor());
return false;
}
@Override
public void onScaleEnd(ScaleGestureDetector arg0) {
Log.i("SCALE", "onscaleend " + arg0.getScaleFactor());
}
}
在活動中,我這樣做:
....
mScaleDetector = new ScaleGestureDetector(this , new ZoomHandler(this.zoom));
@Override
public boolean onTouchEvent(MotionEvent event) {
this.mScaleDetector.onTouchEvent(event);
.....
}
....
非常感謝