我正在尝试这段代码
https://stackoverflow.com/a/14297097/1907593
运行良好,但在 ACTION_UP 上没有任何反应,我想在 ACTION_UP 上将图像重置为初始视图(未旋转)
我正在尝试这段代码
https://stackoverflow.com/a/14297097/1907593
运行良好,但在 ACTION_UP 上没有任何反应,我想在 ACTION_UP 上将图像重置为初始视图(未旋转)
把它付诸行动:
case MotionEvent.ACTION_UP : {
mPrevAngle = mCurrAngle = 0;
animate(mPrevAngle, mCurrAngle,0);
break;
}
我用这段代码解决了
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 代码)