我正在尝试实现一个onscalegesturelistener.我的问题是,SimpleOnScaleGestureListener只接收onScaleBegin事件.其他事件没有报道.我正在使用Nexus One进行测试
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());
}
}
Run Code Online (Sandbox Code Playgroud)
在我正在做的活动中:
....
mScaleDetector = new ScaleGestureDetector(this , new ZoomHandler(this.zoom));
@Override
public boolean onTouchEvent(MotionEvent event) {
this.mScaleDetector.onTouchEvent(event);
.....
}
....
Run Code Online (Sandbox Code Playgroud)
非常感谢
| 归档时间: |
|
| 查看次数: |
2989 次 |
| 最近记录: |