我正在使用
在画布上绘制位图 canvas.drawBitmap(mBitmap, 0, 0, mPaint);
现在我想用两根手指在多点触控上缩放这个位图。我在 This page上用一根手指找到了缩放图像解决方案,但我想用两根手指(捏缩放)来做这件事。怎么做?
答案 0 :(得分:0)
我建议使用andriod-multitouch-controller。这是一个令人惊叹的图书馆,可以让你捏缩放。它使多点触控更容易,并使其非常流畅。我在地图应用程序上使用它,效果很好。如果需要,还支持平移和多点触控旋转。
答案 1 :(得分:0)
Yoy必须在画布View上实现onTouchListener。
private String mode= "Down";
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
mode="DOWN";
}
else if (event.getAction() == MotionEvent.ACTION_MOVE){
if(mode.equals("DRAG"){
// it means both fingers are pressed and now you can zoom the canvas
}
}
else if (event.getAction() == MotionEvent.ACTION_POINTER_DOWN){
mode="DRAG";
}
return false;
}
那么你可以在那里使用你的代码来缩放画布,现在你必须在矩阵中编写用于缩放位图的画布代码。