我想这个代码复位旋转初始视图上ACTION_UP
https://stackoverflow.com/a/14297097/1907593
运作良好,但ACTION_UP没有任何反应, 我想对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代码)
yes yes now is working!我试图改变0到10000(durationMillis?),以缓慢地回到初始视图,但总是立即旋转回图像 – lucignolo