通用手势平移缩放旋转处理类

577 阅读1分钟

通过该类与canvas配合可以快速实现,单指平移,双指缩放,双指旋转效果。

使用示例:

h1.gif

mHelper = new CommonTouchHelper(mTransformMatrix, false);
public boolean onTouchEvent(MotionEvent event) {
    return mHelper.onTouchEvent(event, this::invalidate, this::needRest);
}
@Override
protected void onDraw(Canvas canvas) {
    //绘制图片
    canvas.drawColor(Color.BLACK);
    if (mBitmap != null) {
        canvas.save();
        canvas.clipRect(mCropRectF);
        canvas.concat(mTransformMatrix);
        canvas.drawBitmap(mBitmap, 0, 0, mPaint);
        canvas.restore();
    }
}

完整代码在:GithHub