Android, help rotating image on touch

后端 未结 3 1282
情书的邮戳
情书的邮戳 2021-01-31 23:43

I am trying to rotate one of the transparent PNGs on this image. The number part is what I want to rotate. I am able to do this, but it is not what I am trying to achieve

3条回答
  •  名媛妹妹
    2021-02-01 00:17

    Write below code into your touch event.

    switch (event.getAction()) {    
        case MotionEvent.ACTION_DOWN:
            // reset the touched quadrants
            for (int i = 0; i < quadrantTouched.length; i++) {
                quadrantTouched[i] = false;
            }
            allowRotating = false;
            startAngle = getAngle(event.getX(), event.getY());
            break;
        case MotionEvent.ACTION_MOVE:
            double currentAngle = getAngle(event.getX(), event.getY());
            rotateDialer((float) (startAngle - currentAngle));
            startAngle = currentAngle;
            break;
        case MotionEvent.ACTION_UP:
            allowRotating = true;
            break;
    }
    
    // set the touched quadrant to true
    quadrantTouched[getQuadrant(event.getX() - (dialerWidth / 2), dialerHeight - event.getY() - (dialerHeight / 2))] = true;
    detector.onTouchEvent(event);
    return true;
    

    And use below link for more reference.

    Rotate Dialer Example

提交回复
热议问题