1
|
private AtomicBoolean isStart = new AtomicBoolean( false ); |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
animatorSet.addListener( new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animation) { } @Override public void onAnimationEnd(Animator animation) { if (isStart.get()) { animation.start(); } } @Override public void onAnimationCancel(Animator animation) { } @Override public void onAnimationRepeat(Animator animation) { } }); animatorSet.start(); public void stopRecognizerViewAnim() { isStart.set( false ); } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
mAnimatorSet = new AnimatorSet(); ValueAnimator height = ValueAnimator.ofObject( new WidthEvaluator(), mCurrWidth, mPreWidth); height.setDuration(DURATION); mAnimatorSet.playTogether(height); mAnimatorSet.addListener( new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animation) { } @Override public void onAnimationEnd(Animator animation) { } @Override public void onAnimationCancel(Animator animation) { } @Override public void onAnimationRepeat(Animator animation) { } }); mAnimatorSet.start(); |
1
2
3
4
5
6
7
8
9
10
|
private class WidthEvaluator extends IntEvaluator { @Override public Integer evaluate( float fraction, Integer startValue, Integer endValue) { int value = super .evaluate(fraction, startValue, endValue); ViewGroup.LayoutParams layoutParams = getLayoutParams(); layoutParams.width = value; setLayoutParams(layoutParams); return value; } } |