2

我正在尝试这段代码

https://stackoverflow.com/a/14297097/1907593

运行良好,但在 ACTION_UP 上没有任何反应,我想在 ACTION_UP 上将图像重置为初始视图(未旋转)

4

2 回答 2

1

把它付诸行动:

case MotionEvent.ACTION_UP : {
            mPrevAngle = mCurrAngle = 0;
            animate(mPrevAngle, mCurrAngle,0);
            break;
        }
于 2013-01-24T17:30:56.493 回答
1

我用这段代码解决了

    private double mCurrAngle = 0;
    private double mPrevAngle = 0;
    private long durationMillis;

 case MotionEvent.ACTION_UP : {
        mPrevAngle = Math.toDegrees(Math.atan2(x - xc, yc - y));
         mCurrAngle = 0;
        durationMillis = 1000;
        animate(mPrevAngle, mCurrAngle,durationMillis);
        break;
    case MotionEvent.ACTION_MOVE: {
        mPrevAngle = mCurrAngle;
        mCurrAngle = Math.toDegrees(Math.atan2(x - xc, yc - y));
        animate(mPrevAngle, mCurrAngle, 0);
        if (mCurrAngle>0);{mCurrAngle = mCurrAngle-360;}
        break;

现在的问题是 myCurrAngle 的度数不是从 0 到 -360,而是从 0 到 180 以及从 -1 到 -180。我正在尝试使用上面的代码转换为 0-360 的值,但现在我的值从 -180 到 -360 以及从 -360 到 -540。我的最终目标是当我使用 ACTION_MOVE 达到 -240° 时自动返回 0°(ACTION_UP 代码)

于 2013-01-26T16:40:03.460 回答