Skip to content

Commit 010dd55

Browse files
author
Monkey
committed
完善注释
1 parent 8633a11 commit 010dd55

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

app/src/main/java/com/monkey/miclockview/MiClockView.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@ public class MiClockView extends View {
9696
private float mCameraRotateY;
9797
/* camera旋转的最大角度 */
9898
private float mMaxCameraRotate = 10;
99+
/* 手指松开时时钟晃动的动画 */
100+
private ValueAnimator mShakeAnimX;
101+
private ValueAnimator mShakeAnimY;
99102

100103
public MiClockView(Context context) {
101104
this(context, null);
@@ -223,15 +226,15 @@ public boolean onTouchEvent(MotionEvent event) {
223226
break;
224227
case MotionEvent.ACTION_UP:
225228
//松开手指,时钟复原并伴随晃动动画
226-
ValueAnimator animX = getShakeAnim(mCameraRotateX, 0);
227-
animX.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
229+
mShakeAnimX = getShakeAnim(mCameraRotateX, 0);
230+
mShakeAnimX.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
228231
@Override
229232
public void onAnimationUpdate(ValueAnimator valueAnimator) {
230233
mCameraRotateX = (float) valueAnimator.getAnimatedValue();
231234
}
232235
});
233-
ValueAnimator animY = getShakeAnim(mCameraRotateY, 0);
234-
animY.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
236+
mShakeAnimY = getShakeAnim(mCameraRotateY, 0);
237+
mShakeAnimY.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
235238
@Override
236239
public void onAnimationUpdate(ValueAnimator valueAnimator) {
237240
mCameraRotateY = (float) valueAnimator.getAnimatedValue();
@@ -247,6 +250,10 @@ public void onAnimationUpdate(ValueAnimator valueAnimator) {
247250
* 注意view坐标与camera坐标方向的转换
248251
*/
249252
private void getCameraRotate(MotionEvent event) {
253+
if (mShakeAnimX != null && mShakeAnimX.isRunning()) {
254+
mShakeAnimX.cancel();
255+
mShakeAnimY.cancel();
256+
}
250257
float rotateX = -(event.getY() - getHeight() / 2);
251258
float rotateY = (event.getX() - getWidth() / 2);
252259
//求出此时旋转的大小与半径之比

0 commit comments

Comments
 (0)