0
我已經爲我的'實施'縮放縮放功能做了自己的代碼,它可以工作,但它根本不是用戶友好的。通常很零星,一般來說並不漂亮。我想知道你們中的任何一位能否幫助我,也許是一種更簡單的方法或不同的方法。也許使用GestureListener我不確定如何使用它。任何幫助將是欣賞。Android平滑捏縮放?
下面是我當前的代碼:
public boolean onTouchEvent(MotionEvent event) {
float cr, cr2 = 0.0f;
cx = new float[2];
cy = new float[2];
float zx;
final int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN: {
break;
}
case MotionEvent.ACTION_POINTER_DOWN: {
break;
}
case MotionEvent.ACTION_MOVE: {
for (int i = 0; i<event.getPointerCount(); i++) {
if (run == true) { //see if it is the first time running program and set orig to the scale/screen res
Orig = scale * 800; //800 = screen res
}
cx[i] = event.getX(i); //get x and y for each finger
cy[i] = event.getY(i);
cr = (cx[0] - cx[1])*(cx[0] - cx[1]) + (cy[0] - cy[1])*(cy[0] - cy[1]); //get the distance between pointers
cr2 = FloatMath.sqrt(cr);
if (run == true) {
scale = cr2/800;
run = false;
}
else {
if (scale >= 550.0f) {
scale = 1.0f;
}
if (scale <= 0.0f) {
scale = 1.0f;
}
nScale = Orig/cr2;
scale = nScale * 0.5f;
}
}}
這可能不是做這在所有的最佳途徑。在幾個事件中平均取得更好的迴應?
感謝