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;
}
}
|