我正在尝试在我的 Android 应用程序中的自定义视图上实现捏缩放功能。我已经使用以下课程来做到这一点。
public class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {
public ScaleGestureDetector mScaleDetector;
public float mScaleFactor = 1.f;
public ScaleListener(){
}
@Override
public boolean onScale(ScaleGestureDetector detector) {
mScaleFactor *= detector.getScaleFactor();
// Don't let the object get too small or too large.
mScaleFactor = Math.max(0.1f, Math.min(mScaleFactor, 5.0f));
invalidate(); //Error
return true;
}
}
我想在invalidate()
内部调用上述方法,onScale
但这是错误的,因为这在我的自定义视图之外。但是,我尝试通过在此处实例化自定义视图来做到这一点,如下所示。
View myview = new DrawingView();
myview.invalidate();
但是这个也返回一个错误。无法实例化我的自定义视图。那么如何在这里调用 invalidate() 方法呢?