我想捏一个视图并捕捉缩放手势,然后将其映射到4个不同的缩放比例。我发现我应该使用ScaleGestureDetector
。我使用它如下,并在webview的触摸方法中调用。
mZoomGestureDetector = new ScaleGestureDetector(getActivity(), new OnScaleGestureListener()
{
@Override
public void onScaleEnd(ScaleGestureDetector detector)
{
// TODO Auto-generated method stub
}
@Override
public boolean onScaleBegin(ScaleGestureDetector detector)
{
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onScale(ScaleGestureDetector detector)
{
return false;
}
});
public boolean onTouch(View view, MotionEvent event)
{
mZoomGestureDetector.onTouchEvent(event);
return true;
}
我不知道如何使用detector.getScaleFactor()将其映射到4个不同的缩放级别。如何检测放大和缩小,如果超过最大或最小缩放级别,则不应用缩放。